capitalize

何となくString#capitalizeを作ってみた。

class String
  def mycapitalize
    if /(.)(.*)/ =~ self
      $1.upcase + $2.downcase
    else
      ""
    end
  end
end

追記:もう少し短くできますね。

class String
  def mycapitalize
    if /(.?)(.*)/ =~ self
      $1.upcase + $2.downcase
    end
  end
end

[
    "", "a", "abc", "abCD", "AbCdE"
].each do |s|
    p s.mycapitalize
end

実行結果です。

""
"A"
"Abc"
"Abcd"
"Abcde"