私は、ある種の COMMAND|LENGTH|PARAMETERS 構造を使用して情報を交換する「バイナリ」プロトコルをよく扱います。ここで、PARAMETERS は任意の数の TAG|LENGTH|VALUE タプルです。Erlang は、次のようなパターン マッチングを使用して、メッセージ内の値を簡単に抽出します。
M = <<1, 4, 1, 2, 16#abcd:16>>.
<<1,4,1,2,171,205>>
M ビット文字列 (COMMAND|LENGTH|PARAMETERS 形式に従うメッセージ) を使用すると、Erlang パターン マッチングを利用して、コマンド、長さ、パラメーターを抽出できます。
<<Command:8,Length:8,Parameters/binary>> = M.
<<1,4,1,2,171,205>>
Parameters.
<<1,2,171,205>>
「bit-nibble-byte」指向のプロトコルを管理するために、これは非常に貴重です!
アドオン ライブラリを介しても、このような構文をサポートする言語は他にありますか?