Перейти до основного вмісту

Публікації

Показано дописи з жовтень, 2025

Керуючі конструкції в Elixir

Elixir пропонує різноманітні керуючі конструкції для управління потоком виконання програми. На відміну від імперативних мов, всі конструкції в Elixir повертають значення, що робить код більш виразним. if та else Конструкція if перевіряє умову і виконує код відповідно до результату: # Базовий синтаксис if true do "Це буде виконано" else "Це не буде виконано" end # Однорядковий варіант if connected?, do: "Підключено", else: "Відключено" # Присвоєння результату message = if age >= 18 do "Ви повнолітній" else "Ви неповнолітній" end # Без else (повертає nil) if user_logged_in? do show_dashboard() end Примітка: В Elixir тільки false і nil вважаються хибними. Всі інші значення (включаючи 0, "", []) вважаються істинними. unless Конструкція unless — це протилежність if, виконується коли умова хибна: # ...

Pull Request на GitHub

Ця інструкція показує, як зробити pull request у приватному репозиторії GitHub у цільову гілку dev . Наведено два сценарії: коли у тебе є права write (можна пушити напряму) і коли є лише read (потрібен fork). 1. Підготовка — клонування репозиторію Якщо ще не клоновано репозиторій на локальну машину: git clone git@github.com:OWNER/REPO.git cd REPO 2. Перевірити і оновити гілку dev Переконайся, що працюєш від актуальної бази: git checkout dev git pull origin dev 3. Створити нову гілку для змін Назви гілку зрозуміло (наприклад feature/add-search або bugfix/login-fix ): git checkout -b my-feature-branch 4. Внести зміни і закомітити # Редагуєш файли в редакторі... git add . git commit -m "Опис змін: додано ... / виправлено ..." 5. Сценарій A — У тебе є права запису (write access) Якщо власник репозиторію дав тобі права write , ти можеш пушити прямо в оригінальний репозиторій: git push origin my-feature-branch Потім на GitHub:...

Зіставлення по зразку в Elixir

Зіставлення по зразку (pattern matching) — це одна з найпотужніших можливостей мови Elixir. Це не просто присвоєння значень змінним, а механізм для деструктуризації даних та перевірки їхньої структури. Основи зіставлення В Elixir оператор = — це не оператор присвоєння, а оператор зіставлення. Він намагається зробити ліву частину рівною правій. # Проста змінна x = 1 # x тепер дорівнює 1 # Зіставлення зі значенням 1 = x # Це працює, тому що x = 1 # Помилка зіставлення 2 = x # ** (MatchError) no match of right hand side value: 1 Зіставлення зі списками Зіставлення дозволяє витягувати елементи зі списків: # Зіставлення всього списку [a, b, c] = [1, 2, 3] # a = 1, b = 2, c = 3 # Виділення голови та хвоста [head | tail] = [1, 2, 3, 4] # head = 1, tail = [2, 3, 4] # Ігнорування елементів [_, second, _] = [10, 20, 30] # second = 20 Зіставлення з кортежами Кортежі часто використовуються для зістав...