2009-07-23 73 views
1

我有一個簡單類型:F#lambda表達式中記錄

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

如何傳遞到值的匿名函數返回一個字符串,而不是一個適當的字符串? 以下不編譯。由於

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

回答

6

OK,我在F#共計福利局,但我的猜測是,你要指定一個字符串,它不會使一大堆的意義上的功能。您可以修改desc2是一個函數,像

desc2 : unit -> string

或撥打匿名函數分配字符串,即

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

根據你實際需要的情況。

1

我猜你的意思是調用的函數:

讓利600 = { DESC = 「確定」; (fun)() - >「」)() }