Ruby`to_i!`方法不起作用。想知道为什么

时间:2016-07-22 02:39:44

标签: ruby string methods integer

我将以下内容作为简单Ruby培训计划的一部分:

返回错误:

user_num = gets.chomp
user_num.to_i!

工作正常:

user_num = Integer(gets.chomp)

工作正常:

user_num = gets.chomp.to_i

工作正常:

user_numX = gets.chomp
user_num = user_numX.to_i

以下是该计划:

print "Integer please: "
#code insert location

if user_num < 0
  puts "You picked a negative integer!"
elsif user_num > 0
  puts "You picked a positive integer!"
else
  puts "You picked zero!"
end

关于为什么第一个实例返回错误但其他三个工作正常的任何想法?第一个应该工作正常。这让我烦恼。感谢。

1 个答案:

答案 0 :(得分:2)

根据Ruby Doc,方法String#to_i!不存在,所以这应该解释为什么你接收我认为是NoMethodError的东西。