Мне стыдно спрашивать об этом, потому что кажется, что это должно быть очевидно, но как определить, является ли данный символ в строке верхним или нижним регистром в Ruby? Я не вижу очевидного законченного решения в классе String
.
Я прибегал к следующему, который не учитывает коды, отличные от ASCII:
def is_lower?(c)
c >= 'a' && c <= 'z'
end
def is_upper?(c)
! is_lower(c)
end
Что-то еще, что я подумал:
def is_lower?(c)
c != c.upcase
end
Есть ли что-то более идиоматическое для этого?