He oído que especificar registros a través de tuplas en el código es una mala práctica: siempre debo usar campos de registro (#record_name{record_field = something}
) en lugar de tuplas simples {record_name, value1, value2, something}
.Cómo hacer coincidir ets: partido contra un registro en Erlang?
Pero, ¿cómo puedo unir el registro con una tabla ETS? Si tengo una tabla con los registros, sólo puedo coincidir con lo siguiente:
ets:match(Table, {$1,$2,$3,something}
Es obvio que una vez que agrego algunos nuevos campos para la definición de registro este partido patrón dejará de funcionar.
En su lugar, me gustaría usar algo como esto:
ets:match(Table, #record_name{record_field=something})
Desafortunadamente, devuelve una lista vacía.