wren脚本语言http://wren.io/的文档介绍了如何在类中定义方法,但是我想定义一个简单的函数而不是方法。我尝试过:
#! /usr/bin/env wren
square(n) {
return n * n
}
System.print(square(3))
和此(省略尝试的函数定义以外的部分:
var square= {|n|
return n * n
}
还有这个
var square= Fn.new {|n|
return n * n
}
但没有任何效果。
有人建议我如何不借助方法定义而使其工作吗?
答案 0 :(得分:0)
我找到了一个解决方案:显然我忘记了在函数对象上调用call()方法。这有效:
#! /usr/bin/env wren
var square= Fn.new {|n|
return n * n
}
System.print(square.call(3))
但是,我很难相信所有用户定义的函数都必须通过在其上显式调用“调用”方法来调用!
我最后一次看到这样的内容,其中必须始终明确地编写“呼叫”的内容是TI-99 / 4a的TI BASIC。
但这大约是35年前! ;-)