小编qzn*_*znc的帖子

Monads有什么特别之处?

monad是一种数学结构,大量用于(纯)函数式编程,基本上是Haskell.然而,还有许多其他数学结构可用,例如应用函子,强单子或幺半群.有些更具体,有些更通用.然而,monads更受欢迎.这是为什么?

我提出的一个解释是,它们是通用性和特异性之间的最佳点.这意味着monad捕获关于数据的足够假设,以应用我们通常使用的算法以及我们通常满足monadic定律的数据.

另一种解释可能是Haskell为monad(do-notation)提供了语法,但没有为其他结构提供语法,这意味着Haskell程序员(以及函数式编程研究人员)直观地被用于monad,其中更通用或特定(高效)的函数将也工作.

math monads haskell functional-programming structure

27
推荐指数
4
解决办法
3358
查看次数

在不更改工作副本的情况下创建 git 分支

我刚刚创建了一个新的存储库并添加了一个远程:

git init
git remote add foo something
Run Code Online (Sandbox Code Playgroud)

现在我希望 git 出现在foo/master. 通常,那只会是:

git checkout master
Run Code Online (Sandbox Code Playgroud)

Git 足够聪明,可以使用foo/master这些天。

挑战在于我的工作副本中已经有文件,我不想更改它们。我想git diff向我展示更改,并且我想提交本地状态并将其推送到 foo。

背景:本地状态是一个即将被推送到 Github Pages 的生成网站。

git

8
推荐指数
1
解决办法
4935
查看次数

多个子图的自定义xticks?

使用Matplotlib,我有两个子图,我希望它们具有相同的自定义字符串xticks.

这是我到目前为止尝试过的最小例子:

import matplotlib.pyplot as plt
f, axs = plt.subplots(ncols=2, sharex=True)
plt.xticks(range(6), [str(x)+"foo" for x in range(6)], rotation='45')
for i in range(2):
    ax = axs[i]
    ax.plot(range(6), range(6))
f.show()
Run Code Online (Sandbox Code Playgroud)

生成此输出:

输出代码示例

请注意,左侧的xticks 不会旋转.我怎样才能做到这一点?

如果我删除了sharex=True,左侧子图没有自定义xticks.但是,我无法将xticks提供给单个轴.它会导致错误:

AttributeError: 'AxesSubplot' object has no attribute 'xticks'
Run Code Online (Sandbox Code Playgroud)

python matplotlib

5
推荐指数
1
解决办法
3329
查看次数

应用程序可以在同一个DHT中共存吗?

如果您创建使用分布式哈希表(DHT)的新应用程序,则需要引导p2p网络.我有一个想法,你可以加入现有的DHT(例如Bittorrent DHT).

这可行吗?当然,我们采用相同的技术.将Chord与Kademlia结合使用显然是不可行的.

如果是的话,这会被认为是寄生的还是共生的?寄生意味着它与某种原始用途发生冲突.共生,如果它们对两种应用都有好处,因为它们相互支持.

p2p bittorrent dht chord kademlia

4
推荐指数
1
解决办法
121
查看次数

最常用的鱼壳命令?

我想知道我在鱼壳中运行最多的命令是什么。有没有办法从历史中提取这一点?

为了比较,这里与 bash 相同

shell fish

2
推荐指数
2
解决办法
472
查看次数