monad是一种数学结构,大量用于(纯)函数式编程,基本上是Haskell.然而,还有许多其他数学结构可用,例如应用函子,强单子或幺半群.有些更具体,有些更通用.然而,monads更受欢迎.这是为什么?
我提出的一个解释是,它们是通用性和特异性之间的最佳点.这意味着monad捕获关于数据的足够假设,以应用我们通常使用的算法以及我们通常满足monadic定律的数据.
另一种解释可能是Haskell为monad(do-notation)提供了语法,但没有为其他结构提供语法,这意味着Haskell程序员(以及函数式编程研究人员)直观地被用于monad,其中更通用或特定(高效)的函数将也工作.
我刚刚创建了一个新的存储库并添加了一个远程:
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 的生成网站。
使用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) 如果您创建使用分布式哈希表(DHT)的新应用程序,则需要引导p2p网络.我有一个想法,你可以加入现有的DHT(例如Bittorrent DHT).
这可行吗?当然,我们采用相同的技术.将Chord与Kademlia结合使用显然是不可行的.
如果是的话,这会被认为是寄生的还是共生的?寄生意味着它与某种原始用途发生冲突.共生,如果它们对两种应用都有好处,因为它们相互支持.