Как работает эта функция Erlang для выполнения BSL на двоичных файлах? - PullRequest
4 голосов
/ 04 июля 2011

Может кто-нибудь замять и объяснить, как работает этот фрагмент кода из предыдущего ответа ?

bbsl(Bin,Shift) -> <<_:Shift,Rest/bits>> = Bin, <<Rest/bits,0:Shift>>.

1 Ответ

4 голосов
/ 04 июля 2011
bbsl(Bin, Shift) ->     % function accepts binary and number
  << _:Shift,           % match Shift number of bits into dummy variable _ and
     Rest/bits>> = Bin, % puts rest of the bits into Rest variable from Bin variable

  << Rest/bits,         % start creating new binary with bits from Rest at beginning
     0:Shift >>.        % and Shift number of 0's in the end

надеюсь, что это имело смысл

...