我正在尝试编写一个函数,该函数实际上将返回一个函数。我正在尝试实现这样的目标:
{{Add 3}4}
结果将显示为 7。我发现以下SO question具有相同的问题,但答案对我不起作用。我收到“未引入变量加法器”。我尝试在本地声明它,并设置一个等于它的变量,但到目前为止,我还没有得到任何工作。我知道我想做什么;我想返回一个由外部函数修饰的函数。不幸的是,我在文档中找不到任何关于如何做到这一点的可靠信息。这是我一直在尝试的,基于在线文档。
declare
local
proc {And M ?B}
if M > 0 then B = M else B = 0 end
end
in
proc {Add2 J ?B}
J + {And}
end
end
当我打电话
{{Browse {Add2 1}2}
我希望得到 3。我实际上得到的是没有错误的编译,实际上并没有浏览到任何内容。我知道这不是我要找的,但这是我到目前为止所拥有的。我想取 J,并将其添加到调用任何剩余内容的结果中。任何人都可以指路吗?
谢谢,