JMa*_*ues 10 ruby operators range
我最近开始学习Ruby,我正在阅读以下Ruby手册.
在本手册中,他们会说以下(关于Ranges):
通用范围的最终用途是作为间隔测试:查看某个值是否落在范围所代表的区间内.这是使用===,大小写相等运算符完成的.
有了这些例子:
关于红宝石"==="操作符读后在这里,我发现这个工作在范围因为Ruby将这种以case语句.
因此,您可能希望能够将范围放在case语句中,并将其选中.另外,请注意case语句转换为b === a语句,例如b,然后是b结束.
但是我有以下问题:为什么以下命令返回true?
(1..10)=== 3.14159»是的
由于(1..10)表示[1,2,3,4,5,6,7,8,9,10],我预计结果将是错误的.
Eur*_*eka 11
1..10表示Range数学意义上的0到10,因此包含3.14259
它不一样[1,2,3,4,5,6,7,8,9,10].
该数组是该方法的结果Range#each,用于Enumerable#to_a构造对象的数组表示,仅产生Range中包含的整数值,因为产生所有实数值意味着遍历无限数量的元素.
| 归档时间: |
|
| 查看次数: |
383 次 |
| 最近记录: |