我有以下代码:
term_to_packet(Term) ->
B = term_to_binary(Term),
A = byte_size(B),
<< 1:4/integer-unit:8, B:A/integer-unit:8 >>.
然而,当我跑步时:
term_to_packet("Hello").
我收到错误:
exception error: bad argument in function term_to_packet line 20
其中第20行对应term_to_packet
函数的最后一行。
我不太确定是什么引发了这个错误。
答案 0 :(得分:2)
B
是二进制文件,但在最后一行的二进制构造中,您指定它是integer
。这似乎有效:
term_to_packet(Term) ->
B = term_to_binary(Term),
A = byte_size(B),
<< 1:4/integer-unit:8, B:A/binary-unit:8 >>.