基本的Ruby字符串处理

dma*_*exe 0 ruby string methods

给予一个

idea = gets.reverse
print idea
Run Code Online (Sandbox Code Playgroud)

如果用户输入"狗"它会出来'狗'

但是如果你做了这个代码......

idea = gets.reverse!
print idea
Run Code Online (Sandbox Code Playgroud)

然后返回的字符串变量将是"上帝",对吧?

kgi*_*kis 7

为什么不尝试一下:

irb(main):001:0> idea = gets.reverse
dog
=> "\ngod"
irb(main):002:0> idea = gets.reverse!
dog
=> "\ngod"
Run Code Online (Sandbox Code Playgroud)

两者都将返回反转的字符串.然而:

irb(main):010:0> idea = gets
dog
=> "dog\n"
irb(main):011:0> idea.reverse
=> "\ngod"
irb(main):012:0> idea
=> "dog\n"
irb(main):013:0> idea.reverse!
=> "\ngod"
irb(main):014:0> idea
=> "\ngod"
Run Code Online (Sandbox Code Playgroud)

相反!将修改当前字符串,而reverse将返回一个新字符串.