Ruby 初心者スレッド ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
376:デフォルトの名無しさん 08/12/11 17:34:18 a = [1,2,3] b = [4,5,6] a.each{|i| puts i} b.each{|i| puts i} とやると 123456 の順に表示されますが a.calleach b.calleach puts "A" a.calleach puts "B" b.calleach a.calleach puts "C" b.calleach のようにeachの各ループが実行されるタイミングを自分で制御してこの例では 14A2B53C6 という順で出力されるようなイテレータの書き方というか呼び方あったら教えてください。 自分でインデックス変数も合わせて用意すればいいんでしょうが もう少し簡潔なのがあれば嬉しいです。 377:デフォルトの名無しさん 08/12/11 17:44:16 >>376 それはプログラム構造そのものが間違っている 絶対にあとで破綻するから、いまのうちに書き直せ で、その時間がないという場合は、配列をキューとみなして使う a.shift b.shift puts "A" a.shift puts "B" b.shift a.shift puts "C" b.shift 378:デフォルトの名無しさん 08/12/11 17:47:21 >>376 1.8ならGenerator、1.9ならEnumeratorがそんな感じだけど 推測するにEnumerable#zipで十分なんじゃないかな [1,2,3].zip([4,5,6], ["A","B","C"]) {|ary| puts ary }
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4284日前に更新/244 KB
担当:undef