Erlang-为什么在模式匹配二进制文件时不能使用值的size()?
赋值Erlang-为什么在模式匹配二进制文件时不能使用值的size()?,erlang,Erlang,赋值 A = <<"hell">> 那么下面的代码段就可以工作了 <<A:B/binary, Rest/binary>> = <<"hello">> = 为什么第一次不起作用?根据 在位字符串构造中使用,Size是一个 计算为整数 在位字符串匹配中使用,Size必须是整数或整数 绑定到整数的变量 因此,即使=是正确的语法,也不允许在匹配中使用(非法位大小) B = size(A) <<A:B/binary
A = <<"hell">>
那么下面的代码段就可以工作了
<<A:B/binary, Rest/binary>> = <<"hello">>
=
为什么第一次不起作用?根据
在位字符串构造中使用,Size
是一个
计算为整数
在位字符串匹配中使用,Size
必须是整数或整数
绑定到整数的变量
因此,即使=
是正确的语法,也不允许在匹配中使用(非法位大小
)
B = size(A)
<<A:B/binary, Rest/binary>> = <<"hello">>