2017-03-20 10 views
1

purescriptには、{foo :: Foo}デュガールからRecord ("foo" :: Foo)まで、私の理解が行く限り。 Record ("F" :: Foo)のようなものを作ることができますか?レコードアクセスの構文はどうなっていますか? thing.Fは構文的に有効でしょうか?フィールドを引用レコードには大文字のフィールドがありますか?

答えて

3

は、両方のタイプで、それを行うための正確な方法である:

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"]と少し似ていますが、プロパティには文字列リテラルしか使用できません任意の値ではなく名前。

関連する問題