【发布时间】:2014-05-13 20:52:25
【问题描述】:
返回函数在 Lua 中是如何工作的?我正试图围绕这个导数函数展开思考,但我无法理解它。
function derivative(f, delta)
delta = delta or 1e-4
return function(x)
return (f(x + delta) - f(x))/delta
end
end
感谢您的帮助。
【问题讨论】:
-
你明白anonymous functions吗?
-
我相信是的。匿名函数只是一个没有变量名的函数?我知道函数是一等值,其处理方式与字符串/数字相同,但在我的示例中,我无法理解如何在匿名函数中处理 x 参数。
-
真的,在 Lua 中,所有的函数都是匿名的。只有编译的调试信息和运行时调试信息会尝试为函数命名,以便在错误消息和调用堆栈中的调试信息中使用。
标签: function lua higher-order-functions