Я следую этому примеру упражнения с эликсиром https://github.com/seven1m/ 30 дней-эликсира / 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

Итак, что делает ~w(Tim Jen Mac Kai) в этом тесте?

1
lapinkoira 6 Авг 2017 в 20:52

1 ответ

Лучший ответ

В Эликсире они называются сигилами. Они определяются с помощью функции / макроса с именем sigil_, присоединенной к букве после ~. Поэтому ~w определяется как sigil_w в модуле Kernel. Вот источник код Kernel.sigil_w/2 в Elixir 1.5.1 и здесь его документация.

11
Dogbert 6 Авг 2017 в 20:59