我听说在代码中通过元组指定记录是一种不好的做法:我应该始终使用记录字段 ( #record_name{record_field = something}
) 而不是普通的元组{record_name, value1, value2, something}
。
但是如何将记录与 ETS 表进行匹配?如果我有一个记录表,我只能匹配以下内容:
ets:match(Table, {$1,$2,$3,something}
很明显,一旦我在记录定义中添加了一些新字段,这个模式匹配就会停止工作。
相反,我想使用这样的东西:
ets:match(Table, #record_name{record_field=something})
不幸的是,它返回一个空列表。