【发布时间】:2016-11-25 19:37:03
【问题描述】:
作为一个简单的 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
关于为什么第一个实例返回错误但其他三个工作正常的任何想法?第一个应该可以正常工作。这让我很烦。谢谢。
【问题讨论】:
-
user_num.to_i!不只是“返回错误”,它会引发特定的异常和错误消息:NoMethodError: undefined methodto_i!'对于“2”:String`(如果已输入"2")。这准确地告诉你问题出在哪里:类String没有实例方法to_i!。请特别注意错误消息,并在 SO 问题中提及它们时,包括消息的所有相关部分,包括引发异常的行。
标签: ruby string methods integer