プログラムで指定したフィールドに変更を加える場合、Erlangでレコードを(コピーして)変更する比較的簡単な方法はありますか?
例えば:
-record(my_record, {foo = 0, bar = 0}).
modify_record(Record, Field, Value) ->
Record#my_record{Field = Value}.
modify_record(#my_record{foo = 1}, bar, 42)
、または、のようなことをすることができるようにmodify_record(some_method_that_returns_a_my_record(), foo, 3.14)
そのようなものをコンパイルすると、次のようなエラーが発生します
field 'Field' is not an atom or _ in record my_record
プロップリストとの間で変換する方法についていくつかの例があることを私は理解していますが、私はもっと簡単なものを望んでいました。