a=[11,22,31,224,44].to_enum
=> #<Enumerator: [11, 22, 31, 224, 44]:each>
a.select.with_index{|x| puts x if x<2 }
=> []
a.with_index(2)
=> #<Enumerator: #<Enumerator: [11, 22, 31, 224, 44]:each>:with_index(2)>
irb(main):011:0> a.with_index(2){|x| puts x if x==224}
224
=> [11, 22, 31, 224, 44]
a.with_index(2){|x| puts x if x < 224}
11
22
31
44
=> [11, 22, 31, 224, 44]
混乱: ここでは、開始オフセットをとして設定しました。2しかし、出力を調べると、の11
代わりにどのように31なりますか。のように31位置にあり2thます。
a.with_index(2){|x| puts x if x > 224}
=> [11, 22, 31, 224, 44]
a.with_index(1){|x| puts x if x > 224}
=> [11, 22, 31, 224, 44]
a.with_index(1){|x| puts x if x < 224}
11
22
31
44
=> [11, 22, 31, 224, 44]
a.with_index(1){|x| puts x if x < 224}
11
22
31
44
=> [11, 22, 31, 224, 44]
混乱: ここでは、開始オフセットをとして設定しました。しかし、出力1を調べると、の11代わりにどのようになりますか22。のように22位置にあり1stます。
すべての事実を一緒に検討する際に、開始オフセットについて言及したとしても知りたいのですがenum#with_index、言及されたオフセットから評価を開始してみませんか?
注:indexコンテンツと一緒に印刷する直接的な方法はあります