记录可以有大写字段吗?
Can records have capitalized fields?
在纯脚本中,{foo :: Foo}
脱糖为 Record ("foo" :: Foo)
,据我所知。我可以做类似 Record ("F" :: Foo)
的东西吗?这在记录访问语法中看起来如何? thing.F
在句法上是否有效?
引用字段正是这样做的方法,两种类型都是:
type MyRecord = { "Usually impossible field name" :: Boolean }
在访问器/模式中:
make :: Boolean -> MyRecord
make = { "Usually impossible field name": _ }
get :: MyRecord -> Boolean
get = _."Usually impossible field name"
update :: MyRecord -> Boolean -> MyRecord
update = _ { "Usually impossible field name" = _ }
通过这种方式引用字段,您可以使用大写字母、符号、数字等任意命名记录字段
这有点类似于 JavaScript 中的 obj["property"]
,但是您只能对 属性 名称使用字符串文字,而不是任意值。
在纯脚本中,{foo :: Foo}
脱糖为 Record ("foo" :: Foo)
,据我所知。我可以做类似 Record ("F" :: Foo)
的东西吗?这在记录访问语法中看起来如何? thing.F
在句法上是否有效?
引用字段正是这样做的方法,两种类型都是:
type MyRecord = { "Usually impossible field name" :: Boolean }
在访问器/模式中:
make :: Boolean -> MyRecord
make = { "Usually impossible field name": _ }
get :: MyRecord -> Boolean
get = _."Usually impossible field name"
update :: MyRecord -> Boolean -> MyRecord
update = _ { "Usually impossible field name" = _ }
通过这种方式引用字段,您可以使用大写字母、符号、数字等任意命名记录字段
这有点类似于 JavaScript 中的 obj["property"]
,但是您只能对 属性 名称使用字符串文字,而不是任意值。