« 美容院とか | トップページ | ガンオタの女 »

2008年9月 7日 (日)

配列とイテレータ

今日は配列について調べてみた。

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

array.each do |i|
  print i
end 

print "\n" 

array.each_index do |i|
  print array[i]
end

このスクリプトは配列の要素を順に表示するもの。

出力

123456789
123456789

ポイント

  1. 配列は[]で直接定義できる
  2. 配列もオブジェクト
  3. ブロックにはパラメータを付けることができ、||で囲んで定義する
  4. eachメソッドで全配列要素にアクセスできる
  5. each_indexメソッドの全配列要素のインデックスにアクセスできる
  6. array[i]でarrayのi番目の要素にアクセスできる

ポイント3以外はそんなもんなんだと理解。ポイント3だけちょっと難しかったな。

前回の記事でブロックについて書いたけど、そのブロックは引数を取ることができるみたい。それが|i|の部分。eachメソッドやeach_indexメソッドで引数を与えてブロックをコールバックしてると考えればいいのかな。

|

« 美容院とか | トップページ | ガンオタの女 »

Ruby」カテゴリの記事

コメント

んー 見てるだけだとイメージがいまいちできないな。
このスクリプトは
aray=[9,8,7,6,5,4,3,2,1]と書き換えた場合、
出力
123456789
987654321
ってなるんやんな??違ってる?

投稿: High16 | 2008年9月 8日 (月) 00:06

あー 違うのか
aray=[9,8,7,6,5,4,3,2,1]とした場合も結局、
987654321
987654321
か。

投稿: High16 | 2008年9月 8日 (月) 00:11

> High16

そうそう、どちらも
987654321
になるよ。

投稿: きたへい | 2008年9月10日 (水) 22:52

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: 配列とイテレータ:

« 美容院とか | トップページ | ガンオタの女 »