Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 为什么要将字符串中的其他单词大写?_Ruby_Regex - Fatal编程技术网

Ruby 为什么要将字符串中的其他单词大写?

Ruby 为什么要将字符串中的其他单词大写?,ruby,regex,Ruby,Regex,所以我想知道为什么“大写”方法会主动降低句子中其他字符串的第一个字母的大小写 #This makes sense "mike smith".capitalize "Mike smith" #This also makes sense "Mike smith".capitalize "Mike smith" #This confuses me "mike Smith".capitalize "Mike smith" #Also confuses me "jim the BIG BOY".ca

所以我想知道为什么“大写”方法会主动降低句子中其他字符串的第一个字母的大小写

#This makes sense
"mike smith".capitalize
"Mike smith"

#This also makes sense
"Mike smith".capitalize
"Mike smith"

#This confuses me
"mike Smith".capitalize
"Mike smith"

#Also confuses me
"jim the BIG BOY".capitalize
"Jim the big boy"
我假设大写方法将查找索引“0”处的字符,并将其升格


另外,我希望有一个答案不仅能解释为什么(方法是如何工作的),而且能解释“为什么”。除非我弄错了,否则“大写”一词并不意味着确保其他所有内容在英语口语中都是小写

我同意这是一种令人惊讶的行为,你的假设是合理的

其基本原理可能是
大写
将字符串置于“大写状态”,即当且仅当字符串匹配
/^[a-Z][^a-Z]*$/
Ruby文档中的状态时,字符串才大写:

返回str的副本,其中第一个字符转换为大写 其余部分改为小写


与论坛网站不同,我们不使用“感谢”或“感谢任何帮助”或签名。请参阅“.BTW,它是“提前感谢”,而不是“提前感谢”。之所以“为什么”是因为方法名称是一个错误/错误/错误/意外。:)它的文档记录得很清楚,与python的大写字母相同,但我认识的每个人都希望它做一些稍有不同的事情,例如将第一个字母大写(不要触摸其余字母),或者使用单词大写,或者使用类似于perl的Text::Capitalize的智能大写。谢谢!这更有意义。这个答案不正确。s M Al Mamun的答案是正确的。问题不是问这个方法做什么,而是问它为什么这样做。