记录中的F#Lambdas

时间:2009-07-23 16:37:23

标签: f#

我有一个简单的类型:

type p =
    {
        desc : string;
        desc2: string
    }

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

let oo =
    {
        desc = "ok";
        desc2 = (fun () -> "")
    }

2 个答案:

答案 0 :(得分:6)

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

  

desc2 : unit -> string

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

  

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

取决于您实际需要的情况。

答案 1 :(得分:1)

我想你打算调用这个函数:

让oo =     {         desc =“ok”;         desc2 =(fun() - >“”)()     }