基本的に結果として関数を返す関数を作成しようとしています。私はこのようなことを達成しようとしています:
{{Add 3}4}
結果は7として出てきます。同じ質問がある次のSO質問を見つけましたが、答えはうまくいきませんでした。「Variable Adder not Introduced」というメッセージが表示されます。ローカルで宣言し、それに等しい変数を設定しようとしましたが、まだ何も機能していません。私は自分が何をしたいのか知っています。外部関数で装飾された関数を返したい。残念ながら、それを行う方法に関するドキュメントには、確かなものは何も見つかりません。オンラインドキュメントに基づいて、私が試したことは次のとおりです。
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 を取り、そこに残っているものを呼び出した結果に追加したいと思います。誰かが道を示すことができますか?
ありがとう、