这是什么意思?
0.0..10_000.0
答案 0 :(得分:71)
忽略下划线。您可以将它们放入以使它们更具可读性。
答案 1 :(得分:12)
分离成千上万的语法只是方便:
$ ruby -e 'puts 1_000 + 1_000_000' #=> 1001000
答案 2 :(得分:7)
它是一个Range对象,类型为a..b
在这种情况下,它为您提供从0到10,000的数字作为浮点数。
下划线'_'被忽略,并用于可读性,因此10_000相当于10,000。
购买向范围的每个部分添加.0,数字将被视为浮点数而不是整数,因此您将无法迭代范围(每个方法都会引发异常)。
答案 3 :(得分:0)
实际上这里所有其他答案都是错误的。
_
不会被忽略,只需尝试使用0_50
:
> 1_50
=> 150
> 0_50
=> 40
是的,如果您只是想将其用于小数位数,您将非常惊讶:(
通常,它仅描述一个数字范围,如上面提到的CCD。
正如Kyle Heironimus所说,下划线实际上被忽略了。