-4

私のコードは次のようになります

#!/usr/bin/ruby
Shas = ["Pesachim","Shekalim","Yoma"]
Pesachim=["2a", "2b", "3a", "3b", "4a", "4b", "5a", "5b", "6a", "6b", "7a", "7b"]
Shekalim=["2a", "2b", "3a", "3b", "4a", "4b", "5a", "5b", "6a", "6b", "7a"]
Yoma=["2a", "2b", "3a", "3b", "4a", "4b", "5a", "5b", "6a", "6b", "7a", "7b", "8a", "8b",     "9a", "9b", "10a", "10b", "11a", "11b", "12a", "12b", "13a", "13b", "14a"]

counter = 0
while counter < Pesachim.length
  puts Shas[0] +" "+ Pesachim[counter]
  counter +=1

  bounter = 0
  while bounter < Shekalim.length
    puts Shas[1] +" "+ Shekalim[bounter]
    bounter +=1

これを次のように書き直すのを手伝ってもらえますか

Shas.each do |book|
  counter = 0
  while counter < book.length
    puts book+" "+book[counter]
    counter+=1
  end

「本」が二重引用符のない配列と同じではないという問題があると思います。

4

2 に答える 2

1

あなたが実際に欲しいのはハッシュだと思います:

Shas = {Pesachim: ["2a", "2b", "3a", "3b", "4a", "4b", "5a", "5b", "6a", "6b", "7a", "7b"],
        Shekalim: ["2a", "2b", "3a", "3b", "4a", "4b", "5a", "5b", "6a", "6b", "7a"],
        Yoma: ["2a", "2b", "3a", "3b", "4a", "4b", "5a", "5b", "6a", "6b", "7a", "7b", "8a", "8b", "9a", "9b", "10a", "10b", "11a", "11b", "12a", "12b", "13a", "13b", "14a"]}

次に、次のように .each メソッドを使用できます。

Shas.each do |key, values|
  values.each {|counter| puts "#{key} #{counter}"}
end
于 2013-09-05T15:54:45.533 に答える