Я пытаюсь написать функцию, которая в результате вернет функцию. Я пытаюсь добиться чего-то вроде этого:
{{Add 3}4}
где результат будет равен 7. Я нашел следующее oz">ТАК вопрос, который имеет тот же вопрос, но ответ не работает для меня. Я получаю сообщение «Переменный сумматор не введен». Я пытался объявить его локально, а также установить ей равную переменную, но пока у меня ничего не получилось. я знаю, что я хочу делать; Я хочу вернуть функцию, которая была украшена внешней функцией. К сожалению, я не могу найти ничего в документации о том, как это сделать. Вот что я пробовал, основываясь на онлайн-документах.
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 и добавить его к результату вызова того, что там осталось. Кто-нибудь может указать путь?
Спасибо,
M
? - person wmeyer   schedule 14.09.2013