2011-07-19 64 views
2

使用的範圍,我發現在自制代碼庫以下代碼:在紅寶石數組訪問

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

顯然如果將該元件與啓動此將移除陣列(個體)的元件「 - 」。我的問題是爲什麼你需要以這種方式指定arg的第0個元素,arg [0..0]而不是隻指定arg [0]?

回答

5

由於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]之間沒有什麼區別。

+0

優秀!謝謝! – ennuikiller