私は次の関数を書きました:
let str2lst str =
let rec f s acc =
match s with
| "" -> acc
| _ -> f (s.Substring 1) (s.[0]::acc)
f str []
F# コンパイラがループに変換したかどうかを知るにはどうすればよいですか? Reflector を使用せずに調べる方法はありますか (Reflector の経験がなく、C# も知りません)。
編集:また、内部関数を使用せずに末尾再帰関数を作成することは可能ですか?それともループが存在する必要がありますか?
また、F# std lib には、特定の関数を何度も実行する関数があり、そのたびに最後の出力が入力として与えられますか? 文字列があるとしましょう。文字列に対して関数を実行し、結果の文字列に対して再度実行します...