Какие зарезервированные атрибуты в эликсире? - PullRequest
0 голосов
/ 29 мая 2018

Я просто потратил много времени на выяснение того, почему мой код возвращает nil:

defmodule Test
  @impl 42
  def foo, do: IO.inspect(@impl)

Оказывается, @impl является зарезервированным именем атрибута.Хорошо, урок усвоен.Однако теперь мне интересно, каков полный список зарезервированных ключевых слов атрибутов?Я не могу найти документацию.Самым близким, что я нашел, было this

Elixir имеет несколько зарезервированных атрибутов.Вот некоторые из них, наиболее часто используемые:

@moduledoc - provides documentation for the current module.
@doc - provides documentation for the function or macro that follows the attribute.
@behaviour - (notice the British spelling) used for specifying an OTP or user-defined behaviour.
@before_compile - provides a hook that will be invoked before the module is compiled. This makes it possible to inject functions inside

модуль точно перед компиляцией.

1 Ответ

0 голосов
/ 30 мая 2018

Это документация для модуля Module из стандартной библиотеки.

https://hexdocs.pm/elixir/Module.html#module-module-attributes

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...