ruby - ruby 数组访问中范围的使用

标签 ruby arrays indexing

我在自制代码库中找到了以下代码:

reject{|arg| arg[0..0] == '-'}

显然,如果元素以“-”开头,这将删除数组中的元素(自身)。我的问题是为什么你需要以这种方式指定 arg 的第 0 个元素 arg[0..0] 而不是仅仅指定 arg[0] ??

最佳答案

因为 1.9 之前的 Ruby 版本从单元素索引到字符串时返回整数(字符代码),而不是字符。就像这样:

> "abc"[0]
#=> 97
> "abc"[0..0]
#=> "a"
> "abc"[0] == 'a'
#=> false
> "abc"[0..0] == 'a'
#=> true

从 Ruby 1.9 开始,在您的示例中 unsing arg[0..0]arg[0] 之间没有区别。

关于ruby - ruby 数组访问中范围的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6748430/

相关文章:

android:AutoCompleteTextView 的字符串数组大小限制

c - 使用 C 中的索引访问枚举

ruby - 如何查找另一个数组元素不存在

ruby-on-rails - has_many 到 has_many 到 has_many 的关系

ruby-on-rails - gem 列表中的 mysql2 gem 但获取项目找不到 gem

arrays - 已排序矩阵中的第 K 个最小元素

java - 插入数据库表java

java - Lucene 中的 TopScoreDocCollector 默认使用什么来进行评分?

indexing - Apache Solr - 文档缺少强制性 uniqueKey 字段 : id

ruby - 判断指定数量的数组元素是否匹配