Doo*_*nob 7 ruby numbers square-bracket
我发现100在Ruby中的数字上使用括号表示法时,我得到了这个:
irb(main):001:0> 100[0]
=> 0
irb(main):002:0> 100[1]
=> 0
irb(main):003:0> 100[2]
=> 1
Run Code Online (Sandbox Code Playgroud)
所以我假设它得到了数字,索引如下:
NUMBER: 1|0|0
-----
INDEX: 2|1|0
Run Code Online (Sandbox Code Playgroud)
我在数字上尝试了这个789意外的结果.
irb(main):004:0> 789[0]
=> 1
irb(main):005:0> 789[1]
=> 0
irb(main):006:0> 789[2]
=> 1
Run Code Online (Sandbox Code Playgroud)
我希望它会返回9,然后8,7如果它得到数字.从这个结果来看,这显然不会发生,那么在数字上使用括号表示法到底是做什么的呢?
Pet*_*ter 13
这些是您要删除的二进制位.另一种看待这种情况的方法是使用to_s一个指示所需基数的参数.
>> 789.to_s(2)
=> "1100010101"
Run Code Online (Sandbox Code Playgroud)
字符串索引是从左到右,因此您无法比较[]字符串,但请注意数字(从右到左)的数字是1,0,1.
如果您有兴趣,请参阅以下文档:http://ruby-doc.org/core-1.9.3/Fixnum.html#method-i-5B-5D
| 归档时间: |
|
| 查看次数: |
293 次 |
| 最近记录: |