Я нахожусь в процессе изучения Ruby, и я пытаюсь мыслить на Ruby. Однако, как бы я ни пытался, я не могу решить эту проблему:
Например, у меня есть следующий исходный массив:
a = [1, 3, 5, 4, 5, 5, 7, 5]
# param 1 = number matching, param 2 times matching
b = a.remove_repeated(5, 3)
Тогда значение b будет:
b = [1, 3, 4, 7, 5]
Если бы я пытался сопоставить только два значения, я бы тоже хотел, чтобы все они были удалены. Такие как:
a = [1, 4, 8, 4, 9, 2]
b = a.remove_repeated(4, 3)
Тогда значение b будет:
a = [1, 8, 9, 2]
Я знаю, как сделать это как итеративным, так и рекурсивным способом. Скорее, я ищу Rubyesque способ сделать это.