作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我想将每个单词的第一个字符大写,其余部分保持不变(因此它不同于 Rails 的 titleize
,后者将其余部分小写)。第一行是测试,第三行可以,但是我想知道为什么第二行不行?
ruby-1.9.2-p180 :026 > "omega-3 (dHA)".gsub(/\b([a-z])/, '#\0#')
=> "#o#mega-3 (#d#HA)"
ruby-1.9.2-p180 :027 > "omega-3 (dHA)".gsub(/\b([a-z])/, '\0'.upcase)
=> "omega-3 (dHA)"
ruby-1.9.2-p180 :028 > "omega-3 (dHA)".gsub(/\b([a-z])/) {|s| s.upcase}
=> "Omega-3 (DHA)"
最佳答案
'\0'.upcase
调用字符串 '\0'
的 upcase
方法 - 用于调用的括号在 Ruby 中是可选的。这当然什么都不做,所以第二行只是 .gsub(/.../, '\0')
关于ruby - 在 Ruby 中,为什么 "omega-3 (dHA)".gsub(/\b([a-z])/, '\0' .upcase) 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5655336/
我是一名优秀的程序员,十分优秀!