Когда предпочесть ʻand` вместо ʻandalso` в сторожевых тестах

Мне любопытно, почему запятая ‹,› является ярлыком для и , а не для и также в тестах защиты.

Поскольку я бы назвал себя «родной» C Я не вижу каких-либо недостатков в логической оценке короткого замыкания.

Я скомпилировал некоторый тестовый код с использованием флага to_core , чтобы увидеть, какой код на самом деле сгенерирован. Используя запятую, я вижу, что значение слева и справа и значение оцениваются, и оба and'ed. С и также у вас есть блок case в блоке case и нет вызова erlang: и / 2 .

Я не проводил тестов производительности, но осмелюсь сказать, что и также вариант является более быстрым.

24
задан kay 13 September 2011 в 09:12
поделиться