RubyCGI.org

RubyでCGIを作ろう


2章5節 配列 更新日付: [2002-05-17]



前回にeachが出てきたので配列について説明します。

配列とは変数の入れ物に番号をつけて扱えるものです。まず始めにの定義は arr = [] のように行います。これでarrという配列が作成されます。配列の中を参照したり代入したりする場合以下のようにします。

参照: a = arr[0]
代入: arr[1] = a

前者はarrの0番目の中身をaに代入するという意味です。後者はaの内容をarrの1番目の中に入れるという意味です。ここで注意するのは配列の添字は0から始まるという事です。これはeachと組み合わせる事ができます。以下にその例を示します。

-- プログラム 始まり -- test251.cgi

#!/usr/local/bin/ruby
print "Content-type: text/html\n\n"

print "<html><body>"

arr = [1,5,3]
c = 0
arr.each{|i|
print "arrの #{c} 番目の内容は #{i} です。 <br>"
c += 1
}

print "</body></html>"

-- プログラム 終わり --

まずは実行してみましょう。


arrの 0 番目の内容は 1 です。
arrの 1 番目の内容は 5 です。
arrの 2 番目の内容は 3 です。


と表示されましたね。
プログラムの説明をします。

1、2行目はお決まりです。4行目はHTMLのヘッダ部分です。6行目はarrという配列に順に 1 5 3 と数字を入れています。7行目は番号を付けるための変数cを設定しています。8行目では配列arrの中身でループをさせるように命令しています。ループは{}の間を行うのですがその際arrの中身を毎回iに入れます。9行目は表示を行います。10行目は番号用の変数cに1を足しています。これも新しい物なのですがc=c+1と書き直す事ができます。11行目はループの終わりを意味しています。13行目でHTMLの終わりの部分です。

また以下に似たプログラムを書いておきますのでそれも実行してみましょう。

-- プログラム 始まり -- test252.cgi

#!/usr/local/bin/ruby
print "Content-type: text/html\n\n"

print "<html><body>"

arr = ["apple", "orange", "lemon"]
(0..2).each{|i|
print "arrの #{i} 番目の内容は #{arr[i]} です。 <br>"
}

print "</body></html>"

-- プログラム 終わり --

表示がapple、orange、lemonになりましたね。今回は配列の内容が文字列になっています。あとループの方法が多少変わっていますので、そこに注目してプログラムを見ていきましょう。

1、2行目はお決まりです。4行目はHTMLのヘッダ部分です。6行目はarrという配列に順に "apple", "orange", "lemon" と文字列を入れています。7行目では0から2までをiという変数でループをさせるように命令しています。8行目ではそれの表示を行います。9行目はループの終わりを意味しています。11行目でHTMLの終わりの部分です。

似たようなプログラムでもこのように違う書き方をすると多少短くする事ができます。みなさんもこのような事に注意を払いながらプログラムを組んでみましょう。

今回は配列とeachに付いて解説を行いました。



今回始めて使った命令など
配列
each文

RubyによるCGIプログラミング
RubyによるCGIプログラミング

<− 前へ : 2.4. ファイルの読み出し | 次へ : 2.6. ファイルの書き込み −>

RubyでCGIを作ろうトップ

| トップページ | 書籍「Ruby/GTKプログラミング入門」 | 書籍「RubyによるCGIプログラミング」 | RubyでCGIを作ろう | リンク集 | ツールなど | 自己紹介 |