Erlang 匹配保护中二进制文件的最后一个字节

Erlang 匹配保护中二进制文件的最后一个字节,erlang,Erlang,是否可以使用模式匹配来匹配二进制文件中的最后一个字节。比如: <<Rest/binary, 45>> = BinaryToMatch =二进制匹配 简而言之,没有(至少在R14B01中没有)。您还必须知道二进制文件的大小 Skip = byte_size(BinaryToMatch) - 1, <<_:Skip/binary, 45>> = BinaryToMatch. Skip=字节大小(二进制匹配)-1, =二进制匹配。 简而言之,没有(

是否可以使用模式匹配来匹配二进制文件中的最后一个字节。比如:

<<Rest/binary, 45>> = BinaryToMatch 
=二进制匹配
简而言之,没有(至少在R14B01中没有)。您还必须知道二进制文件的大小

Skip = byte_size(BinaryToMatch) - 1,
<<_:Skip/binary, 45>> = BinaryToMatch.
Skip=字节大小(二进制匹配)-1,
=二进制匹配。
简而言之,没有(至少在R14B01中没有)。您还必须知道二进制文件的大小

Skip = byte_size(BinaryToMatch) - 1,
<<_:Skip/binary, 45>> = BinaryToMatch.
Skip=字节大小(二进制匹配)-1,
=二进制匹配。

或者,您也可以执行
45=binary:last(Bin)
。不幸的是,此函数不是保护BIF。

或者,您也可以执行
45=binary:last(Bin)
。不幸的是,此函数不是一个保护BIF。

在erlang 19中(可能是以前的版本也支持此功能,我不测试它们),您可以使用此保护:

when binary_part(Key, {byte_size(Key), -1}) =:= BinMatchElement
在erlang 19中(可能以前的版本也支持此功能,我不测试它们),您可以使用此保护:

when binary_part(Key, {byte_size(Key), -1}) =:= BinMatchElement