Binary elixir的相同二进制模式匹配在命令行上得到了不同的表示
我不熟悉Elixir,对下面第15行和第17行的两个不同输出感到困惑,即一个是Binary elixir的相同二进制模式匹配在命令行上得到了不同的表示,binary,pattern-matching,elixir,Binary,Pattern Matching,Elixir,我不熟悉Elixir,对下面第15行和第17行的两个不同输出感到困惑,即一个是98,另一个是“b”(来自) 这两个匹配只是做同样的事情,因为(IMO)与相同。为什么他们在产出上存在差异?(我知道他们内部是一样的) 顺便说一句,我正在使用Windows操作系统 iex(14)> <<head, rest::binary>> = "banana" "banana" iex(15)> head 98 iex(16)> &
98
,另一个是“b”
(来自)
这两个匹配只是做同样的事情,因为(IMO)
与
相同。为什么他们在产出上存在差异?(我知道他们内部是一样的)
顺便说一句,我正在使用Windows操作系统
iex(14)> <<head, rest::binary>> = "banana"
"banana"
iex(15)> head
98
iex(16)> <<head::binary-size(1), rest::binary>> = "banana"
"banana"
iex(17)> head
"b"
iex(14)>=“香蕉”
“香蕉”
iex(15)>头部
98
iex(16)>=“香蕉”
“香蕉”
iex(17)>头部
“b”
的默认类型是整数
,但当您明确指定它作为二进制
进行模式匹配时,它将变为二进制
iex | 1>=“香蕉”
iex | 2>头部
#⇒ 98
iex|3>
#⇒“b”
的默认类型是整数
,但当您明确指定它作为二进制
进行模式匹配时,它将变为二进制
iex | 1>=“香蕉”
iex | 2>头部
#⇒ 98
iex|3>
#⇒“b”