2015-04-07 12 views
5

Ich habe Probleme beim Übergeben von mathematischen Funktionen (Procs) in Nim (Version 0.10.2).Übergabe von Funktionen in Nim

import math 

var s1 = @[1.1, 1.2, 1.3, 1.4] 
var s2 = map(s1, math.sqrt) 

ich den Fehler

Error: 'sqrt' cannot be passed to a procvar 

bekommen Wenn ich eine Wrapper-Funktion für sqrt schreiben, es funktioniert gut.

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

Ich verwende Quadratwurzel und als Beispiele Karte, aber schließlich werde ich sqrt (und andere mathematische Procs) zu einem anderen proc werden übergeben. Gibt es eine Möglichkeit, dies zu tun, ohne Wrapper-Funktionen zu schreiben?

Antwort