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