169 похожих чатов

An interesting note regarding if/2 and unless/2 is that they

are implemented as macros in the language; they aren't special language constructs as they would be in many languages. You can check the documentation and the source of if/2 in the Kernel module docs.



if is just a degenerate case of case so it inherited it. There is a bit of history of if in the Erlang Rationale which you can find on trapexit.org under user contributions


я правильно понимаю:
if - Это макрос. Когда используем его то vm на самом деле переделывает его в function внутри которой инициализируются default переменные и за ними все равно идет нативная конструкция case…end

?

то есть правильно клепать факты посдедовательно (как в prolog) вместо if ... then ... else ... end

2 ответов

18 просмотров

Не понял про function и default переменные, if раскрывается в простой case https://github.com/elixir-lang/elixir/blob/v1.13.3/lib/elixir/lib/kernel.ex#L3669 Если у тебя одно условие, то пользуйся if, иначе case или cond в зависимости от входных данных

Похожие вопросы

Обсуждают сегодня

У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
Всем привет. Сейчас я изучаю erlang по книге Erlang and OTP in action. Дошел до главы где реализуется первый gen server на примере tcp rpc сервера. Меня очень сильно смутил ко...
Freezing Death
10
что за асемблер кста?
Shvabrikk Nya
19
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
всем привет. реально ли понять чем в процессе занята память? delphi/linux, процесс свой
Handatros
12
Подскажите... Есть ли название у способа разработки кода, в котором: сперва пишут минимальную рабочую структуру: Напр. ввод, обработка, вывод, контроль. Потом эту структуру д...
Budemposmotret
6
В дизассемблере вижу, что строки пихают в регистры через lea, почему так, а не через mov?
Oleg
8
А где @Grinyaha уважаемый пропал?
Am Ambrion
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Сделал краткий обзор магазина из статьи и заодно там же записал инструкцию по развёртыванию. https://www.youtube.com/watch?v=8-sE1vNk95Q (чё думаете по звуку? кое-что поменял...
Andrey K
17
Карта сайта