我写了下面这个函数:
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#标准库中是否有一个函数可以运行给定的函数多次,每次都将上一次的输出作为输入?比方说,我有一个字符串,想要在字符串上运行一个函数,然后再次在结果字符串上运行该函数,以此类推...