LINUX.ORG.RU

История изменений

Исправление Debasher, (текущая версия) :

Ересь несёшь какую-то

if(true, 1, 2)

Результат очевидно будет number-типа, потому что выражение 1 и выражение 2 number-типа

if(false, false, true)

Тут тоже, и false и true это булы.

Всё логично

if(true, 1) должна возвращать либо nil-подобный тип, либо херню которая потребует обработки различных ситуаций (см. монады), иначе это ошибка

Исходная версия Debasher, :

Ересь несёшь какую-то

if(true, 1, 2)

Результат очевидно будет number-типа, потому что выражение 1 и выражение 2 number-типа

if(false, false, true)

Тут тоже, и false и true это булы.

Всё логично

if(true, 1) должна возвращать либо nil-подобный тип, либо херню которая потребует обработки различных ситуаций (см. монады)