2009-07-23 4 views
1

で私はシンプルなタイプがあります。F#ラムダ記録

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

にはどうすれば値の代わりに適切な文字列の文字列を返す無名関数に渡すことができますか? 以下はコンパイルされません。おかげでOK

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

答えて

6

は、私はF#で合計初心者くさいんだけど、私の推測では、あなたは意味の全体の多くを作成していない文字列に関数を代入していることです。あなたはどちらか

desc2 : unit -> string

のように、機能するdesc2を変更したり、依存

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

すなわち、匿名関数を呼び出して文字列を割り当てることができますあなたが実際に必要とするケース。

1

は、私はあなたが関数を呼び出すためのもの推測:

のlet OO = { DESC = "OK" を。 desc2 =(fun() - > "")() }