我在 Nim(版本 0.10.2)中传递数学函数(procs)时遇到问题。
import math
var s1 = @[1.1, 1.2, 1.3, 1.4]
var s2 = map(s1, math.sqrt)
我得到错误
Error: 'sqrt' cannot be passed to a procvar
如果我为 sqrt 编写一个包装函数,它工作得很好。
proc fxn(x: float): float = math.sqrt(x)
var s2 = map(s1, fxn)
我使用平方根和映射作为示例,但最终我会将 sqrt(和其他数学过程)传递给另一个过程。有没有办法在不编写包装函数的情况下做到这一点?