Новая обновленная функция в Elixir 1.6.3
В этой статье говорится, что Elixir 1.6.3 поддерживает комментарии в середине |>
, when
, |
, но вы делаете mix format
.
а. Комментарии в середине конвейера
Я предполагаю, что вы пользуетесь Эликсиром версии ‹1.6.3
Создайте файл comment.ex
и добавьте в него следующий код
defmodule Comment do def square(number), do: number * number def cube(number), do: number * number * number def run(number) do number # this is square function |> square # this is cube function |> cube # this is used for inspecting the results |> IO.inspect() end end
После добавления содержимого в файл выполните следующую команду
$ mix format comment.ex
Надеюсь, что вы находитесь в той же директории файла comment.ex
. Программа форматирования преобразует приведенный выше код в следующий формат.
defmodule Comment do def square(number), do: number * number def cube(number), do: number * number * number def run(number) do # this is square function # this is cube function # this is used for inspecting the results number |> square |> cube |> IO.inspect() end end
Вы заметили, что все комментарии перемещены в начало определения. Но это обновлено в Elixir v1.6.3
. Комментарии помещаются в середину конвейера в Elixir v1.6.3
Теперь установите Elixir V1.6.3 и повторите попытку. Он по-прежнему поддерживает эти комментарии в середине конвейера.
б. комментарии в середине | выражения
@spec square integer():: :ok | :invalid # :unknown | :other
c. комментарии в середине, когда
Точно так же мы можем прокомментировать when
охранников, как в следующем
Здесь, внутри файла, я добавил еще одну функцию or_gate_truth/2
для демонстрации демо.
#comment.ex defmodule Comment do ... def or_gate_truth(x, y) #checking x is 1 when x == 1 #checking y is 1 when y ==1 do True end end
Однако, если вы отформатируете файл mix format comment.ex
, модуль форматирования по-прежнему будет собирать все комментарии в верхней части функции, как в ELixir ‹1.6.3.
defmodule Comment do ... # checking x is 1 # cheking y is 1 def or_gate_truth(x, y) when x == 1 when y == 1 do True end end
Но он обновлен в Elixir v1.6.3
, он по-прежнему помещает комментарии в середину выражений когда.
Попробуйте, комментируя в середине конвейера, когда, | союзные выражения. Установите Elixir V1.6.3
перед тем, как попробовать
Удачного кодирования :)