[elixir! #0043] 精确到 1bit 的字符串处理

在 elixir 中, 可以使用模式匹配来精确地处理字符串.

1 byte(字节) = 8 bit(比特), 1 bit 在 elixir 中表现为 <<0~255>>.
长度可以被8整除的 bit 串, 即为 binary, 也就是 elixir 中的字符串.

例如, phoenix 项目中的这段代码:

  defp drop_unique(info) do
    prefix = byte_size(info) - 7
    case info do
      <> -> attr
      _ -> info
    end
  end

这里用 <> 来进行模式匹配, 表示attr 将匹配到一个长度为prefix的 binary.

也可以使用 unit(n) 来指定单位长度的比特数. 例如: <> 表示匹配长度为3, 单位长度为4bit的数据.

更多: https://hexdocs.pm/elixir/Ker...

你可能感兴趣的:(elixir)