如何添加这两个变量?

时间:2013-09-18 12:25:34

标签: ruby

puts "first number please"
first = gets.chomp

puts "Second number please"
second = gets.chomp

answer = first + second
puts "The calculation is #{first} + #{second} = " + answer.to_s

我总结了两个变量firstsecond

如果first == 1且second == 2则answer应为3,但ruby显示12有什么问题?

我尝试的是

answer = first.+(second)

4 个答案:

答案 0 :(得分:2)

Thant是因为gets返回一个字符串。因此+中的answer = first + second运算符适用于字符串连接。将其更改为:

puts "first number please"
first = gets.to_i
puts "Second number please"
second = gets.to_i

答案 1 :(得分:1)

因此,这里的问题是您试图获取2个不起作用的字符串之和,您需要先将.chomp替换为.to_i,然后将其转换为整数,然后再进行操作可以像使用它一样使用它,但是请记住,例如,如果要十进制数,例如在进行除法运算时,则需要使用.to_f使其浮点以得到更精确的十进制答案

puts("Give first number")
number_one = gets.to_i
puts("Give second number")
number_two = gets.to_i
sum = number_one + number_two
puts("Answer is: #{sum}")

答案 2 :(得分:0)

你得到的数字实际上是字符串,所以当你使用“+”ruby连接它们时。 你应该试试

gets.to_i

答案 3 :(得分:-1)

puts "first number please"
first = gets.chomp
puts "Second number please"
second = gets.chomp
answer = first.to_i + second.to_i
puts "The calculation is #{first} + #{second} = #{answer}" 

控制台:

[3] a = gets.chomp
2
=> "2"
[4] a.class
=> String
[5] a = a.to_i
=> 2
[6] a.class
=> Fixnum