Есть некоторые функции с двойным подчеркиванием, такие как __before_compile__
, которые автоматически вызывают время компиляции в Elixir. Тем не менее, я также вижу несколько двойных подчеркиваний __functions__
, которые, кажется, называются без магических требований. Для, например, в Ecto, приведенные ниже функции называютсяФункции двойного подчеркивания в Elixir
Ecto.Schema.__source__(source),
Ecto.Schema.__fields__(fields),
Ecto.Schema.__assocs__(assocs),
Ecto.Schema.__primary_key__(primary_key_field),
Что квалифицирует эти __functions__
иметь, ну, двойные подчеркивания?
ps: переименован «методы» в «функции» после ответа jose. Метод является исчерпывающим и не подходит здесь.