在purescript中,我们说我有一个类型。
newtype Person = Person {name :: String,age:Int}
我想创建一个获取此记录的函数和一个指定字段名称的字符串,例如name,并返回该字段的值。
我的用例是我将有一个记录,我想要其中一些字段的连接。我想传递一个字符串数组,这些字符串将是字段名称,然后使用fold在一行中完成它。这样的事情有可能吗?
答案 0 :(得分:0)
使用get
中的purescript-record
:std::cout << mask << std::endl;
减少为get (SProxy ∷ SProxy "x") { x: "y" }
。请注意,这要求字符串和记录类型是静态已知的。
如果您希望动态索引JavaScript对象,则可以使用readProp
中的purescript-foreign
。但是,外部库无法安全地对PureScript记录进行操作。
动态索引PureScript记录的一种方法是简单地对字符串进行大小写分析。
"y"