array=[1,2,3,4,5,6,7]
p array[0]
p array[2,2]
p array[2..5]
p array[-1]
array=array.join(":");
p array
array=array.split(":");
p array
array=array+[1]
p array
hash={"david"=>"06/06/06","jacky"=>"07/07/07"}
p hash
hash["john"]="05/05/05"
p hash
hash.delete "david"
p hash
p array[0]
p array[2,2]
p array[2..5]
p array[-1]
array=array.join(":");
p array
array=array.split(":");
p array
array=array+[1]
p array
hash={"david"=>"06/06/06","jacky"=>"07/07/07"}
p hash
hash["john"]="05/05/05"
p hash
hash.delete "david"
p hash
底下是範例輸出:
1
[3, 4]
[3, 4, 5, 6]
7
"1:2:3:4:5:6:7"
["1", "2", "3", "4", "5", "6", "7"]
["1", "2", "3", "4", "5", "6", "7", 1]
{"jacky"=>"07/07/07", "david"=>"06/06/06"}
{"john"=>"05/05/05", "jacky"=>"07/07/07", "david"=>"06/06/06"}
{"john"=>"05/05/05", "jacky"=>"07/07/07"}
[3, 4]
[3, 4, 5, 6]
7
"1:2:3:4:5:6:7"
["1", "2", "3", "4", "5", "6", "7"]
["1", "2", "3", "4", "5", "6", "7", 1]
{"jacky"=>"07/07/07", "david"=>"06/06/06"}
{"john"=>"05/05/05", "jacky"=>"07/07/07", "david"=>"06/06/06"}
{"john"=>"05/05/05", "jacky"=>"07/07/07"}
使用[]表示array,直接給予初始化,我覺得ruby的作法可能是來自於perl。取sub-array的方式有兩種,分別是array_name[start,length]跟array_name[start..end],ruby的array跟一般的C語言一樣從0開始算
直接使用某個元素就是array_name[index],如果index是複數,表示由最後面開始算起-1,-2,...,另外有兩個用來分開跟結合的function,分別是join跟split,前者回傳一個字串,後者回傳一個字串陣列,這兩者在一些簡單的分析上面很有用
除此之外array並沒有一定型態的集合,所以你可以放入任何的type,使用+把兩個array串起來即可,例如把字串陣列加上一個整數元素,這也是可以
在於沒有型態的規範,這部份很有可能跟一般的OO相左,因為你不會把不相同型態的東西放進一個array
hash使用{}來作為建構的方式之一,他是一堆key=>value的配對,可以從上面範例看到
要加入一個新的元素很簡單,只要使用hash_name[new_key]=new_value就可以了,要取得可以藉由hash_name[key]就會回傳所需的value,修改也是hash_name[key]=new_value,其中key跟value並沒有規定一定要是數字或者字串型態,可以隨意融合
要刪除的的話可以使用delete方法,呼叫hash_name.delete key的方式
其實在ruby中拜訪整個hash跟array都可以配合iterator的方式,相當方便