我正在经历Chris Pine的学习计划,而我无法让这项练习奏效。
从用户获得num
,然后应该告诉用户num + 1
是一个更大更好的数字。
使用此代码:
1 puts 'What\'s your favorite number?'
2 num = gets.chomp
3 num = num.to_i + 1
4 puts num +' is a bigger and better favorite number.'
我在第4行遇到此错误:
in '+': String can't be coerced into Fixnum (TypeError)
所以我的字符串变量实际上并没有转换为整数,对吗?我如何使这项工作?
答案 0 :(得分:1)
在最后一行中,代码尝试将数字与字符串连接起来。
>> 1 + ' is ...'
TypeError: String can't be coerced into Fixnum
from (irb):2:in `+'
from (irb):2
from C:/Ruby21-x64/bin/irb:11:in `<main>'
在连接之前将数字转换为字符串。 +
和'...'
puts num.to_s + ' is a bigger and better favorite number.'
^
或使用字符串插值:
puts "#{num} is a bigger and better favorite number."
答案 1 :(得分:-1)
将此作为最后一行 -
puts "#{num} is a bigger and better favorite number."