记录中的F#Lambdas

pis*_*hio 1 f#

我有一个简单的类型:

type p =
    {
        desc : string;
        desc2: string
    }
Run Code Online (Sandbox Code Playgroud)

如何将一个返回字符串而不是正确字符串的匿名函数传递给值?以下内容无法编译.谢谢

let oo =
    {
        desc = "ok";
        desc2 = (fun () -> "")
    }
Run Code Online (Sandbox Code Playgroud)

Sau*_*tka 6

好吧,我是F#中的新手,但我的猜测是你正在为一个字符串分配一个函数,这并没有多大意义.你可以修改desc2成一个函数,比如

desc2 : unit -> string

或者通过调用匿名函数来分配字符串,即

desc2 = (fun () -> "") ()

根据您实际需要的情况而定.