红宝石中的意外表达评估

swa*_*esh 3 ruby expression ruby-on-rails

为什么这个表达式评估为13?

我不小心评估了这个表达式,(1_2).next而不是结果是(1+2).nexto/p 4.

=> (1_2).next
=> 13
Run Code Online (Sandbox Code Playgroud)

请告诉我这是怎么回事,因为我不熟悉Ruby

Fre*_*ung 9

例如,Ruby允许您使用_分解长数字

123456789 == 123_456_789
Run Code Online (Sandbox Code Playgroud)

但后者更易于阅读,因此您的代码与之相同 12.next