此代码反转的字符串:我可以在F#中使用管道运算符将参数传递给构造函数吗?
let reverse (s : string) = new string(s.ToCharArray() |> Array.rev)
可以这样使用管道运算符来传递所需参数的构造函数string()
被改写?例如,这似乎更地道:
// Doesn't compile:
let reverse (s : string) = s.ToCharArray() |> Array.rev |> new string
同样的,我为什么不能使用string
运营商通过以下方式?
let reverse2 (s : string) = s.ToCharArray() |> Array.rev |> string
这是在行动:
> reverse2 "foo" ;;
val it : string = "System.Char[]"
它返回类型,而不是 “喝”。
[在对象构造函数中使用F#管道符号](http://stackoverflow.com/questions/531178/using-the-f-pipe-symbol-with-an-object-constructor) – gradbot 2010-11-06 14:21:46
This应该可以在F#4.0中出现:http://blogs.msdn.com/b/fsharpteam/archive/2014/11/12/announcing-a-preview-of-f-4-0-and-the -visual-f-tools-in-vs-2015.aspx – 2015-05-13 12:14:22