[英]Computing the checksum of a file in erlang
我正在嘗試使用erlang提供的BIF計算大文件的md5校驗和:
在下面的代碼中:
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。 有什么建議么?
erlang:md5_init沒有參數。
不要忘記,編譯時不會檢查其他模塊中定義的功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.