リスト内のいくつかの要素を上書きすると実際に機能することを期待して、以下の関数を宣言しました.しかし、これが正しい方法であるかどうかは完全にはわかりません.私のものとは異なるアイデアは高く評価されます.
fun foo (ls,n) =if ls = nil then nil else ( rev ( 1::List.rev ( List.take (ls,n-1 ))))@(List.drop (ls,n)
このように動作するはずです
foo ([0,3,9],2) = [0,1,9]