Ваш if - как
a = 6
b = 13
if (a == 2)||4||5 && (b == 9)||10||11
, поэтому в итоге
4 && 10
и это true
, потому что единственными значениями фальси в ruby являются nil
и false
сам
может быть, то, что вы хотите, это что-то вроде
if [2, 4, 5].include?(a) && [9, 10, 11].include?(b)