関数の各呼び出しでリストを更新する必要があるとします。リストの前の要素が保持されるようにします。リスト内の要素をSMLでプログラム内に保持する方法は?
local
val all_list = [];
in
fun insert (x:int) : string = int2string (list_len((([email protected][x]))))
end;
は私が呼ぶたびに挿入することで問題は、私はリストを再び[]
に開始されたことを示す出力「1」を、取得:
は、ここに私の試みです。
しかし、最初の呼び出しでは"1"
の出力が、2番目の呼び出しでは"2"
の出力が期待されていました。
回避策はありません。どのようにそれを行う必要がありますか?
、繰り返し与える同じ入力で繰り返し関数を呼び出します同じ結果。なぜあなたは他に何を期待しますか? – Bergi
あなたは変数を更新することは決してありません。長さを決めて新しいリストを作成するだけです。 – Bergi
R. Harperの[Programming in Standard ML](http://www.cs.cmu.edu/~rwh/isml/book.pdf)を読むことをお勧めします。本当に素晴らしい本です! –