为什么不能通过其他方法更改/使用方法?特别是,为什么这不起作用?
puts 'enter a number: '
first=gets.chomp
puts 'enter another number: '
last=gets.chomp
total = first.to_i + last.to_i
puts 'total of the two values is ' + total.to_s
这两个变量现在是整数。为什么不能添加它们?例如,我可以做到这一点,当你想到它时,这并没有那么不同:
total = first.lenght + second.lenght
答案 0 :(得分:-1)
在最后一行的代码中,您正在执行puts 'total of the two values is ' + total
总计正在返回integer
,但您正在尝试连接到string
,因此,它会抛出如下错误。
1.9.3p448 :013 > puts 'enter a number: '
enter a number:
=> nil
1.9.3p448 :014 > first=gets.chomp
3
=> "3"
1.9.3p448 :015 > puts 'enter another number: '
enter another number:
=> nil
1.9.3p448 :016 > last=gets.chomp
3
=> "3"
1.9.3p448 :017 >
1.9.3p448 :018 > total = first.to_i + last.to_i
=> 6
1.9.3p448 :023 > puts 'total of the two values is ' + total
TypeError: can't convert Fixnum into String
from (irb):23:in `+'
所以,只有我们必须将integer
改为string
,例如total.to_s
要么
puts "total of the two values is: #{total}"
我们必须这样做。