【发布时间】:2016-12-24 22:30:20
【问题描述】:
我可以通过管道运算符使用模块的函数和静态成员函数。我可以将它与非静态成员函数一起使用吗?
我的班级:
type MyClass =
class
new() = {}
member this.isZero(number: int): bool =
number = 0
static member returnInt(): int =
33
end
使用静态成员:
MyClass.returnInt() |> Console.WriteLine // prints 33
使用非静态成员:
let foo = new MyClass()
foo.isZero(2) |> Console.WriteLine // prints false
我想使用对象中的非静态函数。无效语法:
let foo = new MyClass()
foo |> member MyClass.isZero(2) |> Console.WriteLine
我正在尝试使用 F# 的清晰语法。
【问题讨论】:
-
你试图实现“使用非静态成员”下的代码不起作用的什么?
member从未在实际成员声明中使用过。 -
我认为 OP 正在尝试这样做:fslang.uservoice.com/forums/245727-f-language/suggestions/… 不,这是不可能的。在您的示例中,
foo.isZero(2)有什么问题?
标签: f#