Как сказал mikej, в ruby нет оператора пост-инкремента (++
).Однако есть унарный плюс (пишется +@
при определении)
last_known_prime++
found_factor = false
, который анализируется как что-то вроде
last_known_prime + (+(found_factor = false))
--------------------^ unary plus on false
, что вызывает вашу загадочную ошибку.