在Ruby中执行类似"Sentences.each.each"的最干净的方法

Noa*_*ark 0 ruby each loops coding-style

假设我有一系列句子:

a = ["I love pie", "I love you more and more each day", "every day is a good day"]
Run Code Online (Sandbox Code Playgroud)

我想测试句子中的每个单词.因为红宝石太棒了我以为a.each.each可能有用,但事实并非如此.有没有一个干净的方式,而不必在每个内部嵌套?

Dyl*_*kow 5

a.each { |sentence| sentence.split.each { |word| # do something with the word } }
Run Code Online (Sandbox Code Playgroud)

或者稍长的格式,如果:

a.each do |sentence|
  sentence.split.each do |word|
    # do something
    # do something
    # do something
  end
end
Run Code Online (Sandbox Code Playgroud)

  • 好吧,如果你需要一个衬垫,第一个可以工作.但如果你需要用每个`word`做一堆东西,那么你可能想要使用多行`do ... end`块. (2认同)