我刚刚在测验中发现一个问题,我注意到一个变量的奇怪行为:
a = 5
puts a[0] # Output 1
puts a[1] # Output 0
有人可以解释一下为什么我得到输出1和0吗?
答案 0 :(得分:10)
[]
for a integer返回二进制表示形式的第n位:
7.downto(0) {|n| print 5[n] }
00000101=> 8
5
是0101
的二进制,所以5[0]
返回1
(首先从右边开始,是最低有效位),然后5[1]
是0
和5[2]
是1
。