为什么Ruby中的3 [0]和3 [1]的结果为1?

3

整数可以像数组一样访问索引,这非常有趣。

因此,我们可以做出这样的事情:

puts 3[0] 返回1。

puts 3[1] 返回1。

puts 3[2] 返回0。

这是怎么回事呢?


如果您能解释一下Integer#[]文档中哪些部分不清楚,哪些部分您理解了,以及您为了理解那些不清楚的部分所做的研究,那将会很有帮助。这样,Ruby开发人员就可以改进文档,确保未来的开发人员不会遇到与您相同的问题。帮助让世界变得更美好!这也有助于聚焦潜在的答案,避免重复您已经知道或已经学习但不理解的内容。 - Jörg W Mittag
感谢 @JörgWMittag 的评论。我在 Ruby 的世界里真的是个新手。我主要通过搜索引擎在网上搜索,如果我找到了 Ruby 文档,我也很难找到关于我的疑问的部分。无论如何,如果其他同事像我一样遇到问题,我认为这里的答案会更快地被找到,并且官方文档的参考仍然存在。 - Caco
2个回答

4

根据整数#[]的文档:

位引用---返回int二进制表示中第n位,其中int[0]是最低有效位。

3在二进制中表示为11,所以3[0](最低位)和3[1]分别是1,其他所有位置都是0


2

您正在访问int的位!请查看此文档以获取更多详细信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接