>` 在 Elixir 中是不允许的?-6ren"> >` 在 Elixir 中是不允许的?-为什么这样可以, iex(23)> > "Halo" 虽然这在 Elixir 中不行? iex(24)> > ** (ArgumentError) argument error 最佳答案 当你在 > -6ren">
gpt4 book ai didi

elixir - 为什么 `<< String.reverse("Halo") >>` 在 Elixir 中是不允许的?

转载 作者:行者123 更新时间:2023-12-01 01:48:40 25 4
gpt4 key购买 nike

为什么这样可以,

iex(23)> << "Halo" >>
"Halo"

虽然这在 Elixir 中不行?

iex(24)> << String.reverse("Halo") >>
** (ArgumentError) argument error

最佳答案

当你在 << >> 中有一个表达式时,默认情况下,该表达式的类型假定为表示一个字节的整数。

iex(1)> << trunc(65.2) >>
"A"
iex(2)> << trunc(1000.3) >>
<<232>>

如果你的表达式是二进制的(在 Elixir 中也称为字符串),你需要明确指定表达式的类型:

iex(3)> << String.reverse("Halo")::binary >>
"olaH"

关于elixir - 为什么 `<< String.reverse("Halo") >>` 在 Elixir 中是不允许的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50126953/

25 4 0