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