作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
让我们来看看这个简单的函数:
@spec laBionda(String.t()) :: String.t()
def laBionda(name \\ "you") when is_bitstring(name) do
"One for #{name}, one for me"
end
is_bitstring
或
is_binary
在卫队?有什么区别吗?在这种情况下,两者似乎都很好。
最佳答案
您应该使用 is_binary/1
.
Elixir 中的字符串表示为二进制文件。 Elixir 二进制文件是字节序列,而位串是位序列。虽然所有二进制文件都是位串,但并非所有位串都是二进制文件。is_bitstring/1
可以退货true
对于某些不能表示为二进制的位串,例如,单个位:
iex(1)> is_binary(<<1::1>>)
false
iex(2)> is_bitstring(<<1::1>>)
true
is_binary/1
是更好的选择。
关于elixir - 在 Elixir Guard for String 中使用 is_bitstring 或 is_binary?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54161232/
让我们来看看这个简单的函数: @spec laBionda(String.t()) :: String.t() def laBionda(name \\ "you") when is_bits
我是一名优秀的程序员,十分优秀!