Ос

Основи у Elixir

2 вправи

Про концепцію Основи

  • Elixir має динамічну типізацію.
    • Тип змінної перевіряють лише під час виконання.
  • За допомогою оператора зіставлення = ми можемо звʼязати значення будь-якого типу з іменем змінної:
    • Змінні можна звʼязувати повторно.
    • Зі змінною можна звʼязати значення будь-якого типу.

Модулі

  • Модулі формують основу організації коду в Elixir.
    • Модуль видимий для всіх інших модулів.
    • Модуль визначають за допомогою defmodule.

Іменовані функції

  • Усі іменовані функції потрібно визначати в модулі.

    • Іменовані функції визначають за допомогою def.
    • Іменовану функцію можна зробити приватною, використавши натомість defp.
    • Значення останнього виразу у функції неявно повертається.
    • Короткі функції також можна записати за допомогою однорядкового синтаксису.
    def increment(n) do
      n + 1
    end
    
    defp private_increment(n) do
      n + 1
    end
    
    def short_increment(n), do: n + 1
    
  • Функції викликають, використовуючи повне імʼя функції разом з назвою модуля.

    • Якщо функцію викликають зсередини її власного модуля, назву модуля можна опустити.
  • Коли посилаються на іменовану функцію, часто вказують її арність.

    • Арність - це кількість аргументів, які вона приймає.
    # add/3, because the arity is 3
    def add(x, y, z), do: x + y + z
    

Правила найменування

У назвах модулів слід використовувати PascalCase. Назва модуля має починатися з великої літери A-Z і може містити літери a-zA-Z, цифри 0-9 та знаки підкреслення _.

У назвах змінних і функцій слід використовувати snake_case. Назва змінної або функції має починатися з малої літери a-z або знака підкреслення _, може містити літери a-zA-Z, цифри 0-9 та знаки підкреслення _, а також може закінчуватися знаком питання ? або знаком оклику !.

Цілі числа

Цілі числа - це числа без дробової частини, записані однією або кількома цифрами. З ними можна виконувати основні математичні операції.

Рядки тексту

Літерали рядків тексту (англ. string) - це послідовності символів у подвійних лапках.

string = "this is a string! 1, 2, 3!"

Стандартна бібліотека

  • Документація доступна онлайн на hexdocs.pm/elixir.
  • Більшість вбудованих типів даних мають відповідний модуль, наприклад Integer, Float, String, Tuple, List.
  • Модуль Kernel - особливий модуль.
    • Надає базові можливості, на яких побудована решта стандартної бібліотеки.
    • Імпортується автоматично.
    • Його функції можна використовувати без префікса Kernel..

Коментарі в коді

Коментарі можна використовувати, щоб залишати примітки для інших розробників, які читають вихідний код. Однорядкові коментарі в Elixir починаються з #.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці

Вивчити концепцію Основи

Практика заблокована

Розблокуйте ще 1 вправу, щоб практикувати концепцію Основи