相关疑难解决方法(0)

如何在Erlang中对二进制文件进行模式匹配?

我想对二进制文件进行递归,并在每次调用中从二进制文件读取最多32位,并以新的二进制文件返回它.但我不能让模式匹配按我的意愿工作.

binaryToBinary(Source) ->
    binaryToBinaryAux(Source, <<>>).

binaryToBinaryAux(<<>>, Target) ->
    Target;
binaryToBinaryAux(<<H:32/binary, T/binary>>, Target) ->
    binaryToBinaryAux(<<T/binary>>, <<Target/binary, H>>).
Run Code Online (Sandbox Code Playgroud)

这是我得到的模式匹配错误:

10> mymodule:binaryToBinary(<<"JonasPonas">>).
** exception error: no function clause matching
                    mymodule:binaryToBinaryAux(<<"JonasPonas">>,<<>>) 
                                                          (mymodule.erl, line 51)
Run Code Online (Sandbox Code Playgroud)

我对二进制模式匹配做错了什么?

binary erlang pattern-matching

2
推荐指数
1
解决办法
4921
查看次数

标签 统计

binary ×1

erlang ×1

pattern-matching ×1