Мне нужно найти каждое вхождение «$» и изменить его на число, используя счет. например str = "foo $ bar $ foo $ bar $ * run code here * => "foo 1 bar 2 foo 3 bar 4
нет Ошибки, но нет результата
Похоже, это должно быть намного проще, чем я делаю это. Вот мой код:
def counter(file)
f = File.open(file, "r+")
count = 0
contents = f.readlines do |s|
if s.scan =~ /\$/
count += 1
f.seek(1)
s.sub(/\$/, count.to_s)
else
puts "Total changes: #{count}"
end
end
end
Однако я не уверен, если я хотел использовать .match
, .scan
, .find
или что-то еще.
Когда я запускаю это, он не вызывает никаких ошибок, но он ничего не меняет.
Похоже, что вам не хватает петли. –
Где вы отправляете вывод? В дополнение к отсутствию цикла, вы, кажется, не выводят результаты подстановки нигде. – lurker