【发布时间】:2013-01-04 23:27:27
【问题描述】:
我想对二进制文件进行递归,并在每次调用中从二进制文件中读取最多 32 位,并将其返回到新的二进制文件中。但我无法让模式匹配按我的意愿工作。
binaryToBinary(Source) ->
binaryToBinaryAux(Source, <<>>).
binaryToBinaryAux(<<>>, Target) ->
Target;
binaryToBinaryAux(<<H:32/binary, T/binary>>, Target) ->
binaryToBinaryAux(<<T/binary>>, <<Target/binary, H>>).
这是我得到的模式匹配错误:
10> mymodule:binaryToBinary(<<"JonasPonas">>).
** exception error: no function clause matching
mymodule:binaryToBinaryAux(<<"JonasPonas">>,<<>>)
(mymodule.erl, line 51)
我对二进制的模式匹配做错了什么?
【问题讨论】:
标签: binary erlang pattern-matching