27 lines
648 B
Forth
27 lines
648 B
Forth
module ClassMembers
|
|
|
|
type PointWithCounter(a: int, b: int) =
|
|
// A variable i.
|
|
let mutable i = 0
|
|
|
|
// A let binding that uses a pattern.
|
|
let (x, y) = (a, b)
|
|
|
|
// A private function binding.
|
|
let privateFunction x y = x * x + 2*y
|
|
|
|
// A static let binding.
|
|
static let mutable count = 0
|
|
|
|
// A do binding.
|
|
do
|
|
count <- count + 1
|
|
|
|
member this.Prop1 = x
|
|
member this.Prop2 = y
|
|
member this.CreatedCount = count
|
|
member this.FunctionValue = privateFunction x y
|
|
|
|
let point1 = PointWithCounter(10, 52)
|
|
|
|
printfn "%d %d %d %d" (point1.Prop1) (point1.Prop2) (point1.CreatedCount) (point1.FunctionValue) |