Попытка создать функцию, которая подсчитывает количество букв, которые появляются более одного раза в любом месте строки (не обязательно вместе, а не количество повторений). Это то, что у меня есть:
def num_repeats(string)
repeat = []
i1 = 0
i2 = 1
while i1 < string.length
while i2 < string.length
if (string[i1] == string[i2]) && (!repeat.include? string[i1])
repeat << string[i1]
end
i2 +=1
end
i1+=1
end
return repeat.length
end
puts(num_repeats('sldhelanlaskjkajksda'))
По какой-то причине он только толкает первую букву строки, если эта первая буква была использована в остальной части строки, но после этого кажется, что метод останавливается, перейдя через остальную строку.
Сначала я хотел бы знать, почему текущий код не работает, и если есть способ его исправить, и я также приветствую другие лучшие решения.