免責事項:私は実際に5分前までオズを知っているだけウィキペディアの例を読んで、その次のエラーだらけすることができるしませんでした。しかしそれはあなたの問題にアプローチする方法について良いアイデアを与える必要があります。 (関数の末尾再帰を作ることは、読者への課題として残されている)。
アップデート:以下のバージョンをテストして動作します。
local
% turns 123 into [3,2,1]
fun {Listify N}
if N == 0 then nil
else (N mod 10) | {Listify (N div 10)}
end
end
% turns [1,2,3] into 321
fun {Unlistify L}
case
L of nil then 0
[] H|T then H + 10 * {Unlistify T}
end
end
in
% Turns 123 into 321
{Browse {Unlistify {Reverse {Listify 123}}}}
end