Elixir Koans - 具有负数的Enum.take打印Ascii

时间:2016-01-26 13:45:23

标签: elixir

我正在浏览一些Elixir Koans并遇到以下情况:

  think "taking some items the other way" do
    numbers = 1..10
    assert Enum.take(numbers, -2) == __?
  end

花了很多时间在这之后我终于在iex中看了它,我得到了:

'\t\n'

经过更多实验:

Enum.take(numbers, -4) == '\a\b\t\n'
Enum.take(numbers, -5) == [6, 7, 8, 9, 10]

为什么有时会打印出ascii以及其他时间我想要的列表?七点会发生什么?

1 个答案:

答案 0 :(得分:2)

来自Elixir FAQ

列表的漂亮打印是通过使用Erlang的本机功能完成的。当列表的所有元素都是有效的ASCII码时,它被设计为将列表打印为字符串。

7岁时你有BEL' \ a' (a用于警告' AFIAK)

在6,您有ACK显然没有可打印的表示