Ruby-イテレータ

イテレータは、コレクションでサポートされているメソッドに他なりません。データメンバーのグループを格納するオブジェクトは、コレクションと呼ばれます。Rubyでは、配列とハッシュはコレクションと呼ばれます。

イテレータは、コレクションのすべての要素を次々に返します。ここでは、それぞれcollectの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収集イテレータ

コレクト反復子は、コレクションのすべての要素を返します。

構文

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

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

通常、各値を使用して新しい配列を取得する場合は、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