我很惭愧地问这个问题,因为这似乎应该是显而易见的,但在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

有没有更地道的说法?

推荐答案

使用正则表达式模式:[a-Z]或:

/[[:upper:]]/.match(c)

Ruby相关问答推荐

MongoDB通过Brew Services";未定义的方法`plist_starting';";

Ruby - 将两个哈希与一些相似的键合并

设计登录根路由rails 3

在 MacOS Sierra 上使用 RMagick 2.16 的 ImageMagick 7 找不到 MagickWand.h

有没有办法通过哈希初始化对象?

Ruby 哈希文字的顺序是否得到保证?

Ruby访问嵌套函数中的外部变量

来自 Linux 上的命令队列的并行处理(bash、python、ruby ......随便)

我如何需要特定版本的 ruby​​ gem?

如何自定义 Jekyll 的 url?

Rails - create and create!

Ruby数组限制方法

如何强制 Ruby 字符串为 n 个字符

在命名包含多个单词的Ruby 时,是否应该使用破折号或下划线?

在 Ruby 中查找内存泄漏的原因

判断字符串是否为空的Ruby方法?

为什么 __FILE__ 大写而 __dir__ 小写?

Eclipse 的首选 Ruby 插件?

我更改存储库 URL 后 Capistrano 部署失败

什么是 Ruby 1.9 标准 CSV 库?