Ruby – イテレータ~RUBY入門〜RUBYTUTORIAL〜

スポンサーリンク

本当にわからないとこがあった場合一人では解決できません。
『teratail』とはエンジニア特化型のQ&Aサイトです。 すべてのエンジニアさんが抱えている悩みを共有して 解決するための質問サイトです
無料なのでまずは登録して使ってみてください。メールアドレスだけで登録可能です ----------------------------------------------------------------------------------------

Ruby – イテレータ


反復子は、コレクションによってサポートされるメソッドだけです。データメンバーのグループを格納するオブジェクトはコレクションと呼ばれます。Rubyでは、配列やハッシュをコレクションと呼ぶことができます。

イテレータは、コレクションのすべての要素を1つずつ返します。ここでは2つのイテレータについて議論し、それぞれ収集します。これらを詳細に見てみましょう。

Ruby各イテレータ


各イテレータは、配列またはハッシュのすべての要素を返します。

構文

collection.each do |variable|
   code
end

コレクション内の各要素のコードを実行します。ここでは、コレクションは配列またはルビのハッシュです。

#!/usr/bin/ruby

ary = [1,2,3,4,5]
ary.each do |i|
   puts i
end

これにより、次の結果が生成されます。

1
2
3
4
5

イテレータは常にブロックに関連付けられます。配列の各値を1つずつブロックに返します。値は変数iに格納され、画面に表示されます。

RubyのIterator colection


コレクションのすべての要素を返します。

構文

collection = collection.collect

収集方法は、ブロックに関連付けられていることが常に必要はありません。収集方法にかかわらず、それが配列やハッシュであるかどうかの、全体のコレクションを返します。

#!/usr/bin/ruby

a = [1,2,3,4,5]
b = Array.new
b = a.collect
puts b

これにより、次の結果が生成されます。

1
2
3
4
5

 – collectメソッドは配列間のコピーを行う正しい方法ではありません。ある配列を別の配列にコピーするために使用されるクローンと呼ばれる別のメソッドがあります。

通常は、新しい配列を取得するために各値を使って何かをしたいときには、collectメソッドを使用します。たとえば、このコードは、aの各値の10倍を含む配列bを生成ます。

#!/usr/bin/ruby

a = [1,2,3,4,5]
b = a.collect{|x| 10*x}
puts b

これにより、次の結果が生成されます。

10
20
30
40
50

前のページ

次のページ

スポンサーリンク

プログラミングは独学からは挫折の可能性が高いです。まずは無料体験ができる
コードキャンプが本当におすすめ。無料体験でわからないところを聞きましょう。
転職補助つき。カリキュラム終了後に転職紹介をしてくれます。