2

私はルビーに不慣れで、たくさんのチュートリアルを読んでいます。昨日、私はSWEAReach配列を列挙したステートメント(またはそのようなもの)の例を読み、配列のサブセットをブロックに渡しました。これが例ですが、構文が間違っている(または間違ったメソッドを使用している)ため、これは実際には実行されません。

arry = ["a", "b", "c", "d", "e"]

arry.each(3) {|a, b, c| puts a+b+c}

正しいコマンドを使用している場合、これは次のように出力されますabc bcd cde。配列の最初の3つのメンバーはインデックスから始まり、3つの引数すべてを提供するのに十分な長さの文字列がない場合、列挙は終了します。私はそれを行う方法を思い出せず、それを見つけるために正しいことをグーグルで検索することができないようです。知っている人はいますか?

4

3 に答える 3

8

each_cons(3)そのように動作します。それはEnumerableにあり(配列にはEnumerableが含まれています)、それが見つからなかった理由です。

于 2012-07-05T14:56:03.350 に答える
2

あなたはのようなものを意味しますcombinationか?

arry.combination(3).each {|a, b, c| p a+b+c}
于 2012-07-05T14:54:24.417 に答える
1

どうeach_sliceですか?

arry.each_slice(3) {|a,b,c| p a+b+c}
于 2012-07-05T14:55:14.403 に答える