enn*_*ler 2 ruby arrays indexing
我在自制程序代码库中找到以下代码:
reject{|arg| arg[0..0] == '-'}
Run Code Online (Sandbox Code Playgroud)
显然,如果元素以' - '开头,这将删除数组元素(self).我的问题是为什么你需要以这种方式指定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
Run Code Online (Sandbox Code Playgroud)
从Ruby 1.9开始,unsing arg[0..0]和arg[0]你的例子之间没有区别.