ちょっと配列を
いろいろ本とかサイトでソースを見ていると配列の扱い方もいろいろ用意されてるみたい。とりあえず配列もオブジェクトの一種なので様々なメソッドが用意されてる。二つの配列の積を取ったり、繰り返しを行ったり。
というわけでとりあえずこんな感じのソース
# 配列を2つ作成 aArray = [1, 2, 5, 7, 3, 5] bArray = [2, 5, 9] puts("aArray[1]:#{aArray[1]}") # 2個目の値 puts("aArray[-2]:#{aArray[-2]}") # 後ろから2個目の値 #分かりやすいようinspectで文字列表現 puts("aArray[0..2] :#{aArray[0..2].inspect}") #0〜2までを出力 puts("aArray[0...2]:#{aArray[0...2].inspect}") #終了位置を含まない b = aArray & bArray # 積 c = aArray * 2 # 繰り返し d = aArray - bArray # 差 puts("aArray & bArray:#{b.inspect}") puts("aArray * 2 :#{c.inspect}") puts("aArray - bArray:#{d.inspect}")
結果: aArray[1]:2 aArray[-2]:3 aArray[0..2] :[1, 2, 5] aArray[0...2]:[1, 2] aArray & bArray:[2, 5] aArray * 2 :[1, 2, 5, 7, 3, 5, 1, 2, 5, 7, 3, 5] aArray - bArray:[1, 7, 3]
というかんじで、簡単に配列の演算まで出来てしまう。特に二つの配列に共通して含まれる要素を取得する積演算とか両方にない要素を取得する差演算というのは今までアプリケーションを作っていても頻繁に行う処理なんで便利そう。他にも色々メソッドが用意されてるし、ちゃんと使って行こう。
あと、配列とは関係ないけど"#{}"を使った式展開はすごく便利。結果を出力するところはJavaなら"+"でつないで文字列を作らなきゃいけないけど(凝るならStringBufferでappend)、Rubyなら""(ダブルクォーテーション)"で囲まれてる中に直接書けるから出力が簡単で分かりやすい。inspectも文字列表現取りやすくてうれしいなー。