1

Elixir и логика. Для лентяев и очень строгих⁠⁠

Простыми словами разбираемся, что за логические операторы такие, почему бывают ленивые и как их понять.

Пока системы с общей памятью латают дыры, BEAM бесперебойно поставляет воду людям...

Пока системы с общей памятью латают дыры, BEAM бесперебойно поставляет воду людям...

В параллельном мире Elixir логические операторы делятся на 2 группы: "Строгие" ( and, or, not ) и "Ленивые" ( &&, ||, ! ).

Как ты понимаешь, разница здесь не в "качестве логики и ее силе", а в том ЧТО ОНИ ПРИНИМАЮТ НА ВХОД И КАК ПРИ ЭТОМ СЕБЯ ВЕДУТ!

Итак, поехали...

Л – это логика...)

Л – это логика...)

1. СТРОГИЕ логические операторы в Elixir: and, or, not

Они работают ТОЛЬКО с булевыми значениями true / false.

Если им передать на вход что-то другое, например строку, nil или число – будет ошибка компиляции, смотрим в iex:

(CompileError) iex:1: недопустимые аргументы для "and", ожидается два логических значения

(CompileError) iex:1: недопустимые аргументы для "and", ожидается два логических значения

Когда использовать в коде?

Когда ты точно получаешь на входе true/false ( например number > 1 ). И только!

2 ЛЕНИВЫЕ логические операторы в Elixir: &&, ||, !f

Эти операторы не требуют только true/false, так как в Elixir "ложными" считаются только false и nil. Все остальное ( числа, строки, атомы, списки, и т.д ) считаются "истинными"!

Почему они ленивые?

Потому что, если результат в левой части уже ясен – правая часть не вычисляется.

Смотрим в iex:

Обрати внимание, результат – может быть не только true/false, но и операнд!

Обрати внимание, результат – может быть не только true/false, но и операнд!

Зачем это нужно?

Лень – это прото, что если правая часть не нужна, она и не вычисляется. Зачем напрягать вычислитель?)

Продолжение следует...

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества