如何永久修改您定义的方法?

时间:2012-07-16 16:35:25

标签: ruby-on-rails ruby

我正在尝试“backwards_string!”通过大写偶数字符然后反转字符串来永久修改String对象。

class String
    def backwards_string!
        reverse!
        scan(/..?/).map(&:capitalize) * ''
    end
end

2 个答案:

答案 0 :(得分:2)

您可以使用replace

class String
    def backwards_string!
        reverse!
        replace(scan(/..?/).map(&:capitalize) * '')
    end
end

答案 1 :(得分:0)

class String
    def backwards_string!
        length.times {|i| self[i] = self[i].upcase if i.even? }
        reverse!        
    end
end