我有以下代码。但是我收到了一个错误。这应该是怎么写的。
puts 'What is your favourite number?'
number = gets.chomp
number = number.to_i + 1
puts "you would like " + number + 'much better'
答案 0 :(得分:6)
如果包含错误,它总是有帮助的。有两种方法可以解决该错误:
puts "you would like #{number} much better"
puts "you would like " + number.to_s + 'much better'
前一种#{...}
语法将大括号的内容评估为Ruby,然后将to_s
应用于结果,然后将其注入字符串。我的两个例子实际上是等价的。
至于它失败的原因? +
在Ruby中没有进行类型强制,实际上只有很少的隐式转换,与其他类似空格中的语言不同。