小ネタ。Rubyで書いているけど他の言語でも同じ。
ある文字列wordに大文字と小文字の両方が含まれているかチェックするには
- wordをすべて大文字にした結果とwordが等しいか(例:IKUMAとikuMaが等しいか)
- wordをすべて小文字にした結果とwordが等しいか(例:ikumaとikuMaが等しいか)
の論理積を返せば良い。
コードは次のようになる。
def include_upper_and_lower_case?(word)
word.upcase != word && word.downcase != word
end