Dlaczego operator Flip-Flop zawiera drugi warunek?

Poniższy kod używa operatora flip-flop.

(1..10).each {|x| print "#{x}," if x==3..x==5 }

Dlaczego wyniki3,4,5?

Myślę, że tak powinno być3,4.

Jak wspomniano w samouczku, wyrażenie to staje się prawdziwe, gdyx == 3i nadal jest prawdziwe aż dox == 5. Jak można „5” wydrukować, jeśli ma wartość false? Czy ktoś mógłby mi to wyjaśnić?

questionAnswers(6)

yourAnswerToTheQuestion