如何将小写字符串转换为大写字母,反之亦然?

Mah*_*sta 2 ruby

我正在尝试编写一个程序,将字符串中的所有大写字符转换为小写和小写字符为大写.例如,如果字符串是"abcdE",它将在转换"ABCDe"后返回.这是我到目前为止所尝试的

class String
    def is_upper?
        self == self.upcase
    end

    def is_lower?
        self == self.downcase
    end
end

s = gets.chomp

if s.length <= 100
    a = s.split(//)
    b, c = Array.new
    a.each do |m|
        if m.is_upper? 
            b.push(m.downcase)
        end
        if m.is_lower?
            b.push(m.upcase)
        end
    end
    c = b.join
end
Run Code Online (Sandbox Code Playgroud)

但是我可以评估这个程序是非常错误的.我仍然是一个新手学习者.如果我的解决方案程序非常错误,请原谅我.请帮助我找到一个正确而简单的解决方案.

Raj*_*rma 12

无需重新发明轮子.

已经有一个以swapcaseruby 命名的方法来实现这一目标.

对于前

"Hello".swapcase          #=> "hELLO"
"cYbEr_PuNk11".swapcase   #=> "CyBeR_pUnK11"
Run Code Online (Sandbox Code Playgroud)

你可以在这里找到更多细节-

http://ruby-doc.org/core-2.2.0/String.html#method-i-swapcase