2
例外をスローするときにのみ停止する汎用関数を作成する必要があります。以下の例では、正の数値リストを作成する必要があります。mutable
リストを作成して無限に追加します。例外をスローするまでリストに追加を繰り返す
ループを切断するために例外を使用する必要がありますが、結果を保存するのに変更可能なリストを使用するのを止めても同じ機能を実現するにはどうすればよいですか?
let many f =
let mutable list = []
let rec many'() =
list <- list @ f()
many'()
try many'() with Failure _ ->()
list
let mutable n = Console.ReadLine() |> Int32.Parse
let positiveNumbers = many (fun() ->
n <- n - 1
if n < 0 then failwith ""
else n)
あなたは私に 'mutable'を使用しないようにヒントを与えることができるmutable'ここ –
@FoggyFinder'使用する必要はありませんか? – MiP