2015-04-07 139 views
5

我在Nim(版本0.10.2)中傳遞數學函數(procs)的問題。在nim中傳遞函數

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 

如果我寫開方的包裝功能,它工作得很好。

proc fxn(x: float): float = math.sqrt(x) 
var s2 = map(s1, fxn) 

我使用平方根和地圖爲例,但最終我會傳球的sqrt(和其他數學特效)到另一個PROC。有沒有辦法做到這一點,而不寫封裝函數?

回答