如何在ruby中使用多个.each语句?

时间:2013-11-23 08:15:11

标签: ruby loops each

我想做这样的事情,

for topic.sections.each do |section| and topic.questions.each do |question|
    print section
    print question
end

我同时想要两个部分和问题,输出将是这样的: 第1节 问题1

第2节 问题2

我知道我所做的是愚蠢的,但是,这样做的确切方法是什么,或者这是否可能?

2 个答案:

答案 0 :(得分:2)

使用Enumerable#zip

例如,

sections = ['a', 'b', 'c']
questions = ['q1', 'q2', 'q3']
sections.zip(questions) { |section, question|
  p [section, question]
}

# => ["a", "q1"]
# => ["b", "q2"]
# => ["c", "q3"]

答案 1 :(得分:2)

然后在Enumerable#zip的帮助下执行以下操作:

topic.sections.zip(topic.questions) do |section,question|
    p section
    p question
end