Поиск значения в { key, value} list в Erlang

Я новичок в Erlang и, возможно, просто пропустил эту проблему в руководстве, хотя она тривиальна. Скажем, у меня есть список пар {Key, Value}, полученный из erlang:fun_info/1. Я хочу знать функциональность, остальной список меня не интересует. Итак, я пишу что-то вроде:

find_value( _, [] ) ->
    nothing;
find_value( Key, [{Key, Value} | _] ) ->
    Value;
find_value( Key, [_ | T] ) ->
    find_value( Key, T).    

А затем делаю:

find_value( arity, erlang:fun_info( F )).

У меня все работает нормально, но должно ли что-то вроде find_value быть слишком распространенной подпрограммой, чтобы писать ее? Однако аналога в BIF я не нашел. Итак, вопрос: есть ли хороший элегантный способ получить значение для ключа из списка кортежей {key, value}?

7
задан akalenuk 3 June 2012 в 11:56
поделиться