练习:.each 循环

Exercise: .each loops

我想知道是否有人可以帮助我,我在 epicodus 的教程 learnhowtoprogram.com 中遇到了这个问题。问题是....

创建一个名为 my_fave_drink 的变量并将其设置为一个字符串。还创建一个变量来保存一个空数组并将其命名为 my_new_drink。将 my_fave_drink 转换为单个字母的数组。现在遍历存储在该数组中的每个字母并将其推入 my_new_drink 数组三次。然后将 my_new_drink 转换成一个 String,并设置 my_fave_drink 等于这个新的 String。所以如果你最喜欢的饮料是 "Pepsi",在循环结束时它应该是 "PPPeeepppsssiii".

我的解决方案如下,但是为了得到"cccoookkkeee",我需要在循环后输入my_fav_drink,这不是问题中要求的。

my_fave_drink = "coke"
my_new_drink = []
my_fave_drink = my_fave_drink.split("")
my_fave_drink.each() do |drink|
  3.times do 
  my_new_drink.push(drink)
  end
  my_fave_drink = my_new_drink.join()
end

我哪里错了?谢谢。

@Anthony 在评论中回答了 OP 的问题,但是——只是为了好玩——这里有一个使用 each_char:

的替代解决方案
my_fave_drink = "coke"
my_new_drink = ""
my_fave_drink.each_char { |char| my_new_drink << char*3}