Elixir operator~w(列表)

lap*_*ira 1 elixir

我正在按照这个例子练习elixir https://github.com/seven1m/30-days-of-elixir/blob/master/04-list.exs

我试图在文档中找到~W但是找不到它

ExUnit.start

defmodule ListTest do
  use ExUnit.Case

  def sample do
    ["Tim", "Jen", "Mac", "Kai"]
  end

  test "sigil" do
    assert sample == ~w(Tim Jen Mac Kai)
  end
end
Run Code Online (Sandbox Code Playgroud)

那么~w(Tim Jen Mac Kai)在这个测试中做什么呢?

Dog*_*ert 11

这些在Elixir中被称为sigils.它们是使用名称sigil_连接到后面的字母的函数/宏来定义的~.~w因此sigil_wKernel模块中定义.这是Kernel.sigil_w/2 Elixir 1.5.1 的源代码,这是它的文档.