有没有办法提取成员函数,并将它们用作 F# 函数?我希望能够编写以下内容:
mystring |> string.Split '\n' |> Array.filter (string.Length >> (=) 0 >> not)
如果你 [让] 上面的代码有效
let mystring = "a c\nb\n"
let stringSplit (y:char) (x:string) = x.Split(y)
let stringLength (x:string) = x.Length
mystring |> stringSplit '\n' |> Array.filter (stringLength >> (=) 0 >> not)
最佳答案
这与 a question I asked a few days ago 非常相似(但你的措辞更好)。共识似乎是:
string#Split
, "foo"#Split
, 或只是 #Split
(类型推断)将在 future 添加。但是Don Syme's proposal与 Tomas 相关的是从 2007 年开始,所以我不知道它发生的可能性有多大——我猜可能与懒惰的特定语法一样可能。 编辑:
我猜
"foo"#Split
也可以写成 string#Split "foo"
.我想这取决于您定义 #
的灵活程度。句法。
关于F#:有什么方法可以将成员函数用作未绑定(bind)函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3025830/