访问记录的字段,其中动态指定字段名称

时间:2017-11-29 10:19:15

标签: purescript

在purescript中,我们说我有一个类型。

newtype Person = Person {name :: String,age:Int}

我想创建一个获取此记录的函数和一个指定字段名称的字符串,例如name,并返回该字段的值。

我的用例是我将有一个记录,我想要其中一些字段的连接。我想传递一个字符串数组,这些字符串将是字段名称,然后使用fold在一行中完成它。这样的事情有可能吗?

1 个答案:

答案 0 :(得分:0)

使用get中的purescript-recordstd::cout << mask << std::endl;减少为get (SProxy ∷ SProxy "x") { x: "y" }。请注意,这要求字符串和记录类型是静态已知的。

如果您希望动态索引JavaScript对象,则可以使用readProp中的purescript-foreign。但是,外部库无法安全地对PureScript记录进行操作。

动态索引PureScript记录的一种方法是简单地对字符串进行大小写分析。

"y"