非常基本的Ruby放置和获取

Coo*_* Yo -6 ruby string math

我有以下代码.但是我收到了一个错误.这应该是怎么写的.

puts 'What is your favourite number?'
number = gets.chomp
number = number.to_i + 1
puts "you would like " + number + 'much better' 
Run Code Online (Sandbox Code Playgroud)

Dan*_*man 6

如果包含错误,它总是有帮助的.有两种方法可以解决该错误:

  1. 插值: puts "you would like #{number} much better"
  2. 将它从数字转换为字符串: puts "you would like " + number.to_s + 'much better'

前者,#{...}语法,将大括号的内容评估为Ruby,然后to_s在将其注入字符串之前应用于结果.我的两个例子实际上是等价的.

至于它失败的原因? +在Ruby中没有做类型强制,实际上很少有隐式转换,与类似空间中的其他语言不同.