Я пытаюсь вычислить md5 контрольную сумму большого файла с помощью BIFS, что Эрл предлагает:Вычисление контрольной суммы файла в Эрл
- Erlang: md5_init()
- Erlang: md5_update()
- Эрланга: md5_final()
В следующем коде:
to_md5_large(File) ->
case file:read_file(File) of
{ok, <<A:4/binary,B/binary>>} -> md5_helper(B,erlang:md5_init(A));
{error,Reason} -> exit(Reason)
end.
md5_helper(<<A:4/binary,B>>,Acc) -> md5_helper(B,erlang:md5_update(Acc,A));
md5_helper(A,Acc) ->
B = erlang:md5_update(Acc,A),
erlang:md5_final(B).
Однако кажется, что md5_init() не распознается. Когда я компилирую, все работает нормально, возвращая {ok,module}
, однако при запуске я получаю сообщение об ошибке, указывающее, что в строке, указанной выше, есть неопределенная функция md5_init. Какие-либо предложения?
Ничего себе. Как я пропустил это. Помните, если я удалю? – Bula
не беспокойтесь: o) ... – Pascal