我正在遍历单词列表,并在每个单词的开头插入字母表中的每个字母,代码如下:
def add_charac_front
("a".."z").each do |letter|
@array.each do |list_word|
list_word.insert(0, letter)
puts list_word
end #ends @array loop
end #ends alphabet loop
end #ends method
但是.insert
正在发生变化@array
,因此当我遍历@array
字母“ ”时b
,第一个不是“ ”而是“ ”。list_word
@array
Hello
aHello
我需要完全相同的行为,但是对于@array
我运行的每个字母循环来说都是相同的数组。当我执行此代码时,它工作正常:
def add_charac_front
("a".."z").each do |letter|
@array.each do |list_word|
puts "#{letter}#{list_word}"
end #ends @array loop
end #ends alphabet loop
end #ends method
但我最终想在 的不同部分插入字母list_word
,而不仅仅是前面。
我想我可以做到这一点的另一种方法是.split("")
,list_word
然后.insert(0, letter)
,然后.join
。但这似乎更麻烦。
我该怎么做呢?