読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

配列とシンボル

<スポンサーリンク>

配列

■配列とは
配列は、値の列で、列の中の位置によって値にアクセスできるようになっているもの。
Rubyの配列の先頭の値の添字は0である。これはJavaと同じ。
Rubyで配列の要素数を返すのは、size,lengthメソッド。


■末尾に追加
Rubyの配列の末尾に新しい要素を追加するには、<<を使う。
複数の要素を末尾に追加したい場合にはconcatを使う。

ここまでのサンプルはこんな感じ。

array = [1,2,3,4,5]
puts array.size   #5 
puts array.length #5

empty = Array.new #空の配列
threes = Array.new(4,3) #[3,3,3,3]

puts threes[2] #3

array << 6
puts array[5] #6

array.concat [7,8,9]
puts array[8] #9


■配列の要素を逐次的に処理するeachイテレータ
上の例で作った配列の要素をひとつひとつ処理してみる。

array = [1,2,3,4,5]
array << 6
array.concat [7,8,9]

array.each {|num| print num} #123456789

ハッシュ

ハッシュとは、キーと呼ばれるオブジェクトの集合を保持して、個々のキーに値を対応付けているデータ構造である。
・・・と、定義どおりに書いてもわかりづらいけれど、
1(key)と"one"(値)
2(key)と"two"(値)

が結びついてデータを保持するようなイメージ。
ためしに、キーを「one」、値を「100」として、ハッシュを作ってみる。
ちなみに、ハッシュは連想配列とか、マップとか呼ばれたりする。

numbers = Hash.new
numbers["one"] = 100

print numbers["one"] #100


■ハッシュリテラルとシンボル
ハッシュリテラルは全体が中かっこで囲まれ、カンマで区切られたキー/値の対という形で記述される。
Symbolとは、internされたイミュータブルな文字列で、プレフィックスとしてコロンが付けられた識別子という形で記述される。
internとは、「等しいオブジェクトの代わりに常に参照を複製するというテクニック」のこと。

#ハッシュリテラル
friends = {"takeshi" => "waseda", "yoshiki" => "tokyo", "yoshida" => "keio"}

puts friends["yoshiki"] #tokyo

#シンボル
girl_friends = {:one => "yuka", :two => "maki", :three => "nao"}
puts girl_friends[:two] #maki

読んだ本

この記事を書くために、以下の本を読みました。

プログラミング言語 Ruby

プログラミング言語 Ruby

  • 作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2009/01/26
  • メディア: 大型本
  • 購入: 21人 クリック: 356回
  • この商品を含むブログ (123件) を見る
たのしいRubyと並んで、素晴らしい本です。