[解決済み] ルビーが4つ組の配列要素で作業している様子
2023-04-20 14:54:39
質問
Rubyスクリプトの配列で、各要素の処理が必要なものがあります。
threads = []
elemets.each do |element|
threads.push(Thread.new{process(element)}}
end
threads.each { |aThread| aThread.join }
しかし、リソースの制限により、一度に4つ以上の要素が処理されない場合、スクリプトは最適な方法で動作します。
各ループを捨てて、変数を使用して4つの要素をカウントし、待つことができることは知っています。 しかし、それを行うためのクールなrubyの方法はありますか?
どのように解決するのですか?
配列に対して、4つのグループに分けて列挙することができます。
>> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12].each_slice(4) {|a| p a}
[1, 2, 3, 4]
[5, 6, 7, 8]
[9, 10, 11, 12]
ということで、以下のようなものを試してみてください。
elements.each_slice(4) do | batch |
batch.each do | element |
threads.push(Thread.new{process(element)}}
end
(do stuff to check to see if the threads are done, otherwise wait )
end
私は午前3時から起きていて、2時間ほどしか寝ていません。
関連
-
[解決済み】Ruby: 特定のバージョンのruby gemをインストールする方法は?
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] Rubyで配列に値が存在するかどうかを確認する方法
-
[解決済み] Rubyからシェルコマンドを呼び出す方法
-
[解決済み] Rubyでnilとemptyとblankを理解する方法
-
[解決済み] Rubyで文字列を小文字・大文字に変換する方法
-
[解決済み] Rubyのattr_accessorとは何ですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Rubyのclass << selfイディオム
-
[解決済み] Rubyで「例外 => e」を救済するのはなぜ悪いスタイルなのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Rubyの文字列の中から"˶‾‾‾˵"を削除するにはどうしたらいいですか?
-
[解決済み] Rubyで空のファイルを作成する:"touch "と同等?
-
[解決済み] 文字列を DateTime に変換する
-
[解決済み] RVMを使用してRubyのバージョンを変更するには?
-
[解決済み] Rubyで文字列が正規表現にマッチするかどうかをチェックする最も速い方法?
-
[解決済み] ローカルファイルやURLからIOストリームをオープンする
-
[解決済み] Ruby初心者が注意すべきRuby Gotchasとは?[クローズド]
-
[解決済み] Ruby の正規表現で最初にマッチしたものを返す
-
[解決済み] Rubyで配列の最後の要素を取得するには?
-
[解決済み] Mavericks と Xcode 5.1 で Ruby Gem install Json が失敗する - unknown argument: '-multiply_definedsuppress'.