私は SML に非常に慣れていないので、リストの演習を試みています。目標は、リストの以前の数を合計して、新しいリストを作成することです。たとえば、入力リスト[1, 4, 6, 9]
は を返し[1, 5, 11, 20]
ます。
これはこれまでの私の解決策ですが、問題は関数の定義方法にあると思います。
fun rec sum:int list -> int list =
if tl(list) = nil then
hd(list)
else
hd :: sum((hd(tail) + hd(tl(list)))::tl(tl(list)));