Возможно ли сопоставить последний байт в двоичном коде, используя сопоставление с образцом.Что-то вроде:
<<Rest/binary, 45>> = BinaryToMatch
Короче, нет (по крайней мере, не в R14B01). Вы также должны знать размер двоичного файла.
Skip = byte_size(BinaryToMatch) - 1, <<_:Skip/binary, 45>> = BinaryToMatch.
Кроме того, вы также можете сделать 45 = binary:last(Bin).К сожалению, эта функция не охраняет BIF.
45 = binary:last(Bin)
В erlang 19 (может быть, предыдущие версии также поддерживают это, я их не проверяю) вы можете использовать эту защиту:
when binary_part(Key, {byte_size(Key), -1}) =:= BinMatchElement