【问题标题】:Why 3[0] and 3[1] results in 1 in Ruby?为什么 3[0] 和 3[1] 在 Ruby 中的结果为 1?
【发布时间】:2021-05-16 05:38:35
【问题描述】:

整数可以访问像和数组这样的索引,这很有趣。

所以我们可以做这样的事情:

puts 3[0] 返回 1。

puts 3[1] 返回 1。

puts 3[2] 返回 0。

这是怎么回事?

【问题讨论】:

  • 如果您能准确地解释您对Integer#[] 的文档有哪些不清楚的地方,您了解哪些部分以及您不了解哪些部分,将会很有帮助,以及您进行了哪些研究以了解您不了解的部分。这样,Ruby 开发人员可以改进文档,以确保未来的开发人员不会遇到与您相同的问题。帮助世界变得更美好!它还有助于集中潜在的答案,避免重复你已经知道的事情,或者重复你已经研究过但不理解的事情。
  • 感谢@JörgWMittag 的评论。我真的是 Ruby 世界的新手。我主要使用搜索引擎在网络上进行搜索,如果我找到了 Ruby 文档,我很难找到关于我的疑问的部分。反正如果有其他同事有我这样的问题,我想这里会更快找到答案,参考官方文档还是可以的。

标签: arrays ruby integer


【解决方案1】:

您正在访问 int 的位!查看 this 文档了解更多详情。

【讨论】:

    【解决方案2】:

    来自the docs 为Integer#[]:

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

    3 是二进制的11,所以3[0](最不重要的一个)和3[1] 是1,其他都是0。

    【讨论】:

      猜你喜欢
      • 2011-06-08
      • 2021-11-17
      相关资源
      最近更新 更多