学习如何使用Ruby进行编码,并尝试先从测试中学习。 我偶然发现了一些有趣的东西。
我试图把每个字都用来大写,但是
title = 'stuart little'
a = title.split
a.each do |x|
x.capitalize
end
a.join(' ')
但如果我加了! in capitalize
title = 'stuart little'
a = title.split
a.each do |x|
x.capitalize!
end
a.join(' ')
它最终得到我想要的结果'Stuart Little'
只是.capitalize应该工作不应该吗?因为我只是把这些词大写。是什么让.capitalize!在这种情况下工作?答案 0 :(得分:0)
当一个方法在Ruby的末尾有!
时,它通常被称为bang-method。感叹号表示该方法是另一种方法的危险版本。
在这种情况下,capitalize!
将修改您的字符串,而capitalize
将返回一个新的字符串对象。由于您稍后调用原始对象(a
中的字符串),因此您的代码仅适用于capitalize!
。要使代码与capitalize
一起使用,您必须将数组的索引设置为方法的结果,例如a[index] = x.capitalize
答案 1 :(得分:0)