summaryrefslogtreecommitdiffhomepage
path: root/ru-ru
diff options
context:
space:
mode:
Diffstat (limited to 'ru-ru')
-rw-r--r--ru-ru/elixir-ru.html.markdown119
1 files changed, 0 insertions, 119 deletions
diff --git a/ru-ru/elixir-ru.html.markdown b/ru-ru/elixir-ru.html.markdown
deleted file mode 100644
index 5a01d269..00000000
--- a/ru-ru/elixir-ru.html.markdown
+++ /dev/null
@@ -1,119 +0,0 @@
----
-language: elixir
-contributors:
- - ["Joao Marques", "http://github.com/mrshankly"]
- - ["Dzianis Dashkevich", "https://github.com/dskecse"]
- - ["Ryan Plant", "https://github.com/ryanplant-au"]
-translator:
- - ["Ev Bogdanov", "https://github.com/evbogdanov"]
-filename: learnelixir-ru.ex
-lang: ru-ru
----
-
-Elixir — современный функциональный язык программирования, который работает на
-виртуальной машине Erlang. Elixir полностью совместим с Erlang, но обладает
-дружелюбным синтаксисом и предлагает больше возможностей.
-
-```elixir
-
-# Однострочные комментарии начинаются с символа решётки.
-
-# Для многострочных комментариев отдельного синтаксиса нет,
-# поэтому просто используйте несколько однострочных комментариев.
-
-# Запустить интерактивную Elixir-консоль (аналог `irb` в Ruby) можно
-# при помощи команды `iex`.
-# Чтобы скомпилировать модуль, воспользуйтесь командой `elixirc`.
-
-# Обе команды будут работать из терминала, если вы правильно установили Elixir.
-
-## ---------------------------
-## -- Базовые типы
-## ---------------------------
-
-# Числа
-3 # целое число
-0x1F # целое число
-3.0 # число с плавающей запятой
-
-# Атомы, которые являются нечисловыми константами. Они начинаются с символа `:`.
-:hello # атом
-
-# Кортежи, которые хранятся в памяти последовательно.
-{1,2,3} # кортеж
-
-# Получить доступ к элементу кортежа мы можем с помощью функции `elem`:
-elem({1, 2, 3}, 0) #=> 1
-
-# Списки, которые реализованы как связные списки.
-[1,2,3] # список
-
-# У каждого непустого списка есть голова (первый элемент списка)
-# и хвост (все остальные элементы списка):
-[head | tail] = [1,2,3]
-head #=> 1
-tail #=> [2,3]
-
-# В Elixir, как и в Erlang, знак `=` служит для сопоставления с образцом,
-# а не для операции присваивания.
-#
-# Это означает, что выражение слева от знака `=` (образец) сопоставляется с
-# выражением справа.
-#
-# Сопоставление с образцом позволило нам получить голову и хвост списка
-# в примере выше.
-
-# Если выражения слева и справа от знака `=` не удаётся сопоставить, будет
-# брошена ошибка. Например, если кортежи разных размеров.
-{a, b, c} = {1, 2} #=> ** (MatchError)
-
-# Бинарные данные
-<<1,2,3>>
-
-# Вы столкнётесь с двумя видами строк:
-"hello" # Elixir-строка (заключена в двойные кавычки)
-'hello' # Erlang-строка (заключена в одинарные кавычки)
-
-# Все строки представлены в кодировке UTF-8:
-"привет" #=> "привет"
-
-# Многострочный текст
-"""
-Я текст на несколько
-строк.
-"""
-#=> "Я текст на несколько\nстрок.\n"
-
-# Чем Elixir-строки отличаются от Erlang-строк? Elixir-строки являются бинарными
-# данными.
-<<?a, ?b, ?c>> #=> "abc"
-# Erlang-строка — это на самом деле список.
-[?a, ?b, ?c] #=> 'abc'
-
-# Оператор `?` возвращает целое число, соответствующее данному символу.
-?a #=> 97
-
-# Для объединения бинарных данных (и Elixir-строк) используйте `<>`
-<<1,2,3>> <> <<4,5>> #=> <<1,2,3,4,5>>
-"hello " <> "world" #=> "hello world"
-
-# Для объединения списков (и Erlang-строк) используйте `++`
-[1,2,3] ++ [4,5] #=> [1,2,3,4,5]
-'hello ' ++ 'world' #=> 'hello world'
-
-# Диапазоны записываются как `начало..конец` (оба включительно)
-1..10 #=> 1..10
-
-# Сопоставление с образцом применимо и для диапазонов:
-lower..upper = 1..10
-[lower, upper] #=> [1, 10]
-
-# Карты (известны вам по другим языкам как ассоциативные массивы, словари, хэши)
-genders = %{"david" => "male", "gillian" => "female"}
-genders["david"] #=> "male"
-
-# Для карт, где ключами выступают атомы, доступен специальный синтаксис
-genders = %{david: "male", gillian: "female"}
-genders.gillian #=> "female"
-
-```