Rubyがミニツク

あなたのRubyの技術に関するより詳しい知識と理解を増やします。

Ruby入門コース

このコースについて

Rubyのeラーニング研修システムはRailsを使ってWebアプリケーション開発ができる技術者の育成を目指します。 そのため、Railsを扱うことができるだけのRubyの知識を得ることがRuby入門コースの目標となっています。

コンテンツ一覧

ヒント レッスンの名前をクリックすると、その内容を表示します。

次のコンテンツ ホームへ戻る

配列

配列とは、データの集まりを添字によって順序立てたものです。Rubyの配列は、オブジェクトを要素として並べたものです。以下のようにすると配列オブジェクトを作れます。

変数 = [要素1, 要素2, 要素3]

このようにおこなうことで変数は配列オブジェクトを指し示します。以下のようにオブジェクトを[]で囲むことによって、配列オブジェクトを作れます。

ary = [1, 2, 3]

[]で囲んだ数値オブジェクトは配列オブジェクトの各要素になります。配列オブジェクトの各要素を扱いたい時は、以下のようにおこないます。

ary = [1, 2, 3]
p ary[0]   #=> 1
p ary[1]   #=> 2
p ary[2]   #=> 3

変数名の後に付けた[]はメソッドです。従って、上の例えのary0はary.[](0)というメソッド呼び出しと同義であり、0は[]メソッドの引数です。[]メソッドの中にある数字には、配列オブジェクトの各要素に割り当てられた番号を指定します。要素の番号は「0」から始まり、この番号のことをインデックスと呼びます。

配列オブジェクトは、[]メソッドを使うことで、まるで変数への代入のような動きをします。そのため、変数のように配列オブジェクトの要素に値を代入できます。

ary = [1, 2, 3]
ary[0] = 10
p ary  #=> [10, 2, 3]

指定した添え字が示す要素の値を変更しました。配列オブジェクトの要素はオブジェクトなので、指し示された先のオブジェクトがどのように振る舞うかを知っています。たとえば配列オブジェクトの要素が数値オブジェクトの時は計算がおこなえます。

ary = [1, 2, 3]
ary[0] = (ary[0] + ary[1]) * ary[2]
p ary[0]  #=> 15
p ary     #=> [15, 2, 3]

Array#lengthメソッド

lengthメソッドを使うことによって、配列オブジェクトは要素数を返します。

p [1, 2, 3].length  #=> 3

Array#eachメソッド

オブジェクトの集まりから各要素を取り出して操作したい時はeachメソッドを使います。以下のようにするとeachメソッドを使って各要素を操作できます。

オブジェクト.each do |変数|
  繰り返したい処理
end

doとendが囲む文はブロックと呼びます。「|変数|」というのはブロック引数と呼び、eachメソッドでオブジェクトから取り出した各要素に置き換えられるものです。それを通じて、「繰り返したい処理」の中に取り出された要素を処理できます。

配列オブジェクトもインデックスによって順序付けられたオブジェクトの集まりなのでeachメソッドによって各要素を操作できます。

["foo", "bar", "baz"].each do |n|
  puts(n)
end

実行すると配列オブジェクトの各要素が端末へ表示されたはずです。


次のコンテンツ ホームへ戻る