创建具有常量值的F#记录类型

Eig*_*ite 2 inheritance f# recordtype

假设我有一个如此定义的记录......

type Employee = {Name : string; Salary : int}
Run Code Online (Sandbox Code Playgroud)

我想要另一种Salary固定的类型.我想能说...

type Manager = {Name: string; Salary : int = 250000}
Run Code Online (Sandbox Code Playgroud)

......但似乎我做不到.

我有什么选择来获得这种行为?

Mar*_*ann 7

您可以为记录提供只读属性:

type Manager = 
    {
        Name: string
    }
     member this.Salary = 250000
Run Code Online (Sandbox Code Playgroud)

FSI示例:

> let m = { Name = "Foo" };;

val m : Manager = {Name = "Foo";}

> m.Name;;
val it : string = "Foo"
> m.Salary;;
val it : int = 250000
Run Code Online (Sandbox Code Playgroud)

  • 答对了.我会接受,Seemann先生.关于Pluralsight BTW的TDD F#课程的精彩工作.刚看完了. (4认同)