私はfollwing機能を書いている場合、私は知っていますか:は、どのように関数がF#で末尾再帰は
let str2lst str =
let rec f s acc =
match s with
| "" -> acc
| _ -> f (s.Substring 1) (s.[0]::acc)
f str []
F#コンパイラはループにそれを回した場合、私が知ることができますどのように?リフレクターを使わずに見つけ出す方法はありますか(私はリフレクターとの経験がなく、私はC#を知らないのですか?)
編集:また、内部関数を使用せずにテール再帰関数を書くことは可能ですか?またはループが存在する必要がありますか?
また、F#std libには、指定された関数を何度も実行する関数がありますか?そのたびに最後の出力を入力として渡しますか?私は文字列を持っていると言う、私は文字列の上に関数を実行し、その後、結果の文字列の上で実行したい...
また、http://stackoverflow.com/questions/5809683/is-my-rec-function-tail-recursive – Brian