5

1文字入力したとき、大文字なら大文字のままで返し、小文字なら大文字に変換するプログラムを書こうとしています。文字列が元々大文字か小文字かを判別できるようにするにはどうすればよいですか?

4

3 に答える 3

10

文字列を大文字に変換して、元の文字列と比較するだけです

string == string.upcase

または小文字の場合

string == string.downcase

 

編集:コメントで述べたように、上記のソリューションは英字のみで機能します。代わりに国際的なソリューションが必要な場合は、

def upcase?(string)
    !string[/[[:lower:]]/]
end

これは、正規表現を使用して文字列をスキャンし、文字列がすべて大文字かどうかを判断するために結果を否定します。

于 2012-11-25T02:19:36.877 に答える
2

すでに大文字になっているものに #upcase を適用しても影響がないため、大文字に変換するだけで、小文字の場合のチェックを気にする必要がないように思えます。

于 2012-11-25T11:40:16.833 に答える