2017-06-04 5 views
0

ネストされたレコードに何らかの形で匿名関数の引数を適用することは可能でしょうか?purescript匿名関数の引数はネストされたレコードにありますか?

type UName = {fname :: String, lname :: String} 
type XName = { xname :: UName, addr :: String} 

updateU = _ { xname : { fname : _ } } -- not ok 
-- or 
updateU = _ { xname.fname = _ } -- not ok 
-- or 
updateU = _ { xname : fname = _ } } -- not ok 

上記の試行では、コンテキストが無効であると言います。その目的は、実装することです:

updateU = \x -> { xname : { fname : x } } 

答えて

4

最短バージョンはnested record updatesを使用し、次のようになります。

updateU :: XName -> String -> XName 
updateU = _ { xname { fname = _ } } 
関連する問題