gets.chomp.downcase!和分开的区别,快来帮忙解惑吧=。=
ruby吧
全部回复
仅看楼主
level 4
user = gets.chomp.downcase!和
user = gets.chomp
user.downcase!
有什么区别吗?
为什么结果会这样?
2015年04月18日 17点04分 1
level 12
你先加一行:
puts user_input.class
就会是没有include?的原因。
2015年04月18日 23点04分 2
level 1
遇到同样的问题,得到好的回复了吗?
2016年04月22日 06点04分 3
level 8
一般来说method后面跟一个叹号!表示这个方法将会对对象自身做修改,这样的方法一般也是没有返回值的。String#downcase方法实际是根据当前字符串重新构造一个新小写字符串并返回,而String#downcase!是直接把当前字符串转为小写,返回nil。第一张图中,将末尾!去掉即可。
2016年04月22日 13点04分 4
level 2
user = gets.chomp.downcase! 当再次调用user时 user值是nil
对于nil对象来说是没有include?方法的
而分开写user = gets.chomp
user.downcase!
当再次调用user时 user的值是String类型
2016年05月24日 10点05分 10
1