小编Lud*_*igH的帖子

在 Windows 上设置超时限制

我有一个函数,运行时间不会太长。我想为其设置一个超时限制。我可以在互联网上找到一种建议的解决方案。请参阅以下 SO 帖子。函数调用超时

该解决方案使用信号,这在 Windows 上不可用。信号也有类似的用途来制作自动收报机,它有一个 Windows 端口,如这篇 SO 帖子中所解释的:python:windows 相当于 SIGALRM这不是直接超时的答案,但可以适应超时。它是为 python 2.7 编写的。

由于答案大约有 10 年历史,我的问题是:是否有更现代的 python(例如 python 3.7)方法来创建上下文管理器/装饰器/类似包装器,将“普通函数”制作为超时限制函数视窗系统?

python windows timeout python-3.x

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

确保 0 在 RdBu 颜色条中变为白色

我使用以下代码段创建了一个热图:

import numpy as np
import matplotlib.pyplot as plt
d = np.random.normal(.4,2,(10,10))
plt.imshow(d,cmap=plt.cm.RdBu)
plt.colorbar()
plt.show()
Run Code Online (Sandbox Code Playgroud)

结果如下图: 在此处输入图片说明

现在,由于数据的中间点不是 0,因此颜色图值为 0 的单元格不是白色,而是略带红色。

如何强制颜色图使 max=blue、min=red 和 0=white?

matplotlib colormap

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

fmap的monadic"版本"的名称是什么?

拥有powershell脚本的背景我首先想到以管道方式思考函数组合是很自然的.这意味着组合的语法应该是fun1 | fun2 | fun3一种psudocode方式.("按顺序应用fun[i]i'功能在哪里).这个函数的顺序也是你在haskell monadic绑定中找到的.fun1 >>= fun2 >>= fun3.

但是在haskell的其他场合,函数的顺序更像是数学,例如fun3 . fun2 . fun1,或者在函数设置中fmap fun3 . fmap fun2 . fmap fun1.

我非常清楚这些函数在两个例子中有不同的签名,但令我感到困惑的是,结构仍然是相反的.我的解决方法是有时定义一个mmap = flip (>>=)我可以编写的函数mmap fun3 . mmap fun2 . mmap fun1.

那么问题是:

  1. 有没有mmap定义?叫什么叫?
  2. 为什么绑定定义为具有参数的运算符,其顺序感觉倒退?

monads haskell functor

3
推荐指数
1
解决办法
92
查看次数

Powershell Invoke-WebRequest 返回“无法解析远程名称”,但不返回代理错误

wget我正在尝试在 powershell 中使用( 的别名)下载页面Invoke-WebRequest。有问题的页面是www.privatahyresv\xc3\xa4rdar.nu.

\n\n

使用 Internet Explorer 时,我可以导航到,www.privatahyresv\xc3\xa4rdar.nu但无法从 powershell 运行 wget,也无法ping该站点。这两个命令都无法解析主机名。

\n\n

我遵循了 SO 和其他网站上关于使用代理作为错误源的建议wget失败错误源的评论的一些建议,但我没有使用任何代理。

\n\n

请帮我找出错误源!

\n

dns url powershell proxy

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

在打字稿中键入注释通用箭头函数?

我想编写一个打字稿函数,以函数方式将函数重复 n 次给参数。递归在我看来是一个很好的建议。

我对香草 ES 的尝试如下。

const repeat = f => times => arg => {
  if(times <= 0) {
    return arg;
  } else {
    const val = repeat(f)(times-1)(f(arg))
    return val;
  }
}
Run Code Online (Sandbox Code Playgroud)

我在注释类型方面的最佳尝试没有通过编译。

const repeat = <T>(f: T=>T) => (times: number) => (arg: T) => {
  if(times <= 0) {
    return arg;
  } else {
    const val: T = repeat(f)(times-1)(f(arg))
    return val;
  }
}
Run Code Online (Sandbox Code Playgroud)

编辑 遵循@arpl 的建议,但没有编写单独的接口,我在下面解决了。“ret”的单独定义是为了允许正确推断返回类型。

const repeat = <T>(f: (a: T)=>T) => (t: number) => (a: T) …
Run Code Online (Sandbox Code Playgroud)

typescript arrow-functions

0
推荐指数
1
解决办法
1617
查看次数