Например, я хочу взять строку и добавить 1 значение для каждого символа a-z. Я ищу что-то с похожим синтаксисом:Ruby Regexp с помощью gsub есть эквивалент ключевого слова self?
str = 'abc123'
str.gsub(/[a-z]/, self.next!)
Давая выход: bcd123 Я знаю, что я мог бы использовать подобный код:
irb(main):075:0> 'abc123'.split('').map{|x| if x =~ /[a-z]/ then x.next! else x = x end }.join
=> "bcd123"
Однако, это, кажется, довольно ненадежна и не очень эффективный. Я бы подумал, что есть намного более быстрый способ совершить тот же подвиг.
Заранее спасибо.
Ответ будет принят как можно скорее. Спасибо за понимание. Я не могу поверить, насколько простым и изящным рубином может быть. Я склоняюсь к усложнению вещей. – Singularity