我正在尝试使用以下命令在PyPi上注册我的包:
pyton setup.py register
Run Code Online (Sandbox Code Playgroud)
但它会导致以下错误:
Server response (500): <urlopen error [Errno -2] Name or service not known>
Run Code Online (Sandbox Code Playgroud)
我甚至删除了〜/ .pypirc文件并尝试再次发出命令,但这也会导致相同的错误.我的setup.py脚本如下:
from setuptools import setup
from setuptools import find_packages
setup(
name="xxxxx",
version="0.0.1",
author="someone",
author_email="someone@gmail.com",
url="https://github.com/someone",
packages=['folder_name',],
license="MIT License",
description = " Sample Description",
long_description = open("README").read(),
install_requires = ["python-mwapi"],
)
Run Code Online (Sandbox Code Playgroud) 这个问题与这个答案有关.
有一个名为的类型Promise
:
data Promise f a = PendingPromise f | ResolvedPromise a | BrokenPromise deriving (Show)
Run Code Online (Sandbox Code Playgroud)
据说:
Promise f a ? Maybe (Either f a)
Run Code Online (Sandbox Code Playgroud)
现在我无法理解上面的表达方式.它们是如何等同和同构的(从那你怎么能得出结论它是Monad)?
所以,我想手动证明Maybe applicative的组成法则是:
u <*> (v <*> w) = pure (.) <*> u <*> v <*> w
Run Code Online (Sandbox Code Playgroud)
我用这些步骤证明了这一点:
u <*> (v <*> w) [Left hand side of the law]
= (Just f) <*> (v <*> w) [Assume u ~ Just f]
= fmap f (v <*> w)
= fmap f (Just g <*> w) [Assume v ~ Just g]
= fmap f (fmap g w)
= fmap (f . g) w
pure (.) <*> u <*> v <*> w [Right hand …
Run Code Online (Sandbox Code Playgroud) 所以这是我在软件基金会工作的一个练习,我必须证明多重是可交换的.这是我的解决方案:
Theorem brack_help : forall n m p: nat,
n + (m + p) = n + m + p.
Proof.
intros n m p.
induction n as [| n'].
Case "n = 0".
simpl.
reflexivity.
Case "n = S n'".
simpl.
rewrite -> IHn'.
reflexivity.
Qed.
Lemma plus_help: forall n m: nat,
S (n + m) = n + S m.
Proof.
intros n m.
induction n as [| n].
Case "n = 0".
simpl.
reflexivity.
Case …
Run Code Online (Sandbox Code Playgroud) 了解一下haskell给出了Functor类型类的描述.
我可以看到,对于列表,它的实现如下:
instance Functor [] where
fmap = map
Run Code Online (Sandbox Code Playgroud)
但这是如何工作的?
在类型类Functor中,fmap甚至没有实现.所有它只是这样的类型声明:
class Functor f where
fmap :: (a -> b) -> f a -> f b
Run Code Online (Sandbox Code Playgroud)
只是通过类型声明,Haskell如何正确地找出列表的映射操作?
我在 Real World Haskell 上遇到了以下句子:
懒惰的评估有一些令人毛骨悚然的效果。假设我们要查找未排序列表的 k 个最小值元素。在传统语言中,显而易见的方法是对列表进行排序并取前 k 个元素,但这很昂贵。为了提高效率,我们将编写一个特殊的函数,一次性获取这些值,并且它必须执行一些中等复杂的簿记。在 Haskell 中,先排序再取的方法实际上表现良好:懒惰确保列表只会被排序到足以找到 k 个最小元素。
他们为此提供了一个代码实现:
minima k xs = take k (sort xs)
Run Code Online (Sandbox Code Playgroud)
但真的是这样吗?我认为即使在 Haskell 中,它也应该做一个完整的列表来取出k
元素。(想象一下在列表末尾有最小的数字)。我在这里错过了什么吗?
让我们说,我有两个Maybe Bool
值,我想实现以下功能:
Just
值,我想||
在它们之间执行值.Nothing
一个是Just
值而另一个是值,那么我希望将Just
值作为输出.Nothing
,那么我想Just False
作为输出.我知道这可以通过模式匹配来实现.但是可以使用任何monadic函数来实现结果吗?
liftM2
适用于这种情况:
ghci> liftM2 (||) (Just True) (Just False)
Just True
Run Code Online (Sandbox Code Playgroud)
但是当一个输入中的任何一个输入时(我想要其他值)liftM2
将产生.即:Nothing
Nothing
Just
ghci> liftM2 (||) (Nothing) (Just False)
Nothing
Run Code Online (Sandbox Code Playgroud)
但我想Just False
在上述情况下.
是否可以使用任何monadic函数执行此操作?
比方说,我有一个名为两个函数f :: a -> b
,它的逆g :: b -> a
这样f . g ? id
.
现在不是g . f ? id
吗?(因而暗示同构)
我试着写一个类似的例子并想出了这个:
myRead :: String -> Int
myRead = read
myShow :: Int -> String
myShow = show
Run Code Online (Sandbox Code Playgroud)
在ghci:
?> myRead . myShow $ 3
3
?> myShow . myRead $ "33"
"33"
Run Code Online (Sandbox Code Playgroud)
但似乎反函数并不意味着同构.所以有人能指出我在这里做错了吗?
我想像这样解析输入字符串: "this is \"test \" message \"sample\" text"
现在,我编写了一个解析器来解析单个文本而没有任何引号:
parseString :: Parser String
parseString = do
char '"'
x <- (many $ noneOf "\"")
char '"'
return x
Run Code Online (Sandbox Code Playgroud)
这解析简单的字符串,如下所示: "test message"
然后我为引用的字符串编写了一个解析器:
quotedString :: Parser String
quotedString = do
initial <- string "\\\""
x <- many $ noneOf "\\\""
end <- string "\\\""
return $ initial ++ x ++ end
Run Code Online (Sandbox Code Playgroud)
这个解析器的字符串是这样的: \"test message\"
有没有办法可以将两个解析器结合起来,以便获得我想要的目标?究竟解决这个问题的方法究竟是什么?
这就是我在组织模式下编写表格的方式:
| col1 | col2 | col3 |
|------+------+------|
| val1 | val2 | val3 |
| val4 | val5 | val6 |
Run Code Online (Sandbox Code Playgroud)
这是我得到的输出org-export-as-pdf
:
我想要的是表格的边框。我使用的组织模式版本是 7.9.3f。
更新:
通过#+ATTR_LaTeX: align=|c|c|c|
,我得到下表:
更新:
C-u C-c -
解决了使用和分别在表格顶部和底部放置水平线的问题C-c -
。