我正在将一个单词与另一个字符串进行比较,该字符串通过遍历字母表并将每个字母插入单词的每个位置而发生变化。
@position_counter = 0
编辑:这是 letter_loop 正在运行的代码。
@array = ["amethod", "variable", "block"]
def word_list_loop
@match_counter = 0
@array.each do |word|
letter_loop(word)
end
puts @match_counter
end
关闭编辑
def letter_loop(word)
("a".."z").each do |letter|
word_plus_letter = @word.dup
word_plus_letter.insert(@position_counter, letter)
@match_counter+=1 if word.match(/\A#{word_plus_letter}\z/)
end
@position_counter+=1
letter_loop(word) unless @position_counter == (@word.length + 1)
end
我用于论证的词是"method"
. 但是当我运行它时,我得到一个index 7 out of string (IndexError)
. 它正确地循环遍历每个位置的字母表,但似乎并没有被unless @position_counter == (@word.length + 1)
to 结尾抓住。
我尝试了其他一些方法,例如使用 if 语句等,但我无法让该方法自行完成。