【发布时间】:2015-01-02 11:19:16
【问题描述】:
我是 Ruby 的新手。我正在尝试通过制作小程序来学习注意事项。这个程序有点多余,但我想更好地使用语言的语法。
无论如何,所以我正在尝试创建一个小程序,它会询问用户的人数。然后这个数量的人将引用数组的大小,然后程序将要求用户输入数组中每个元素的名称(所有这些都是“nil”值,因为新数组的元素将为空)。最后,我想将数组打印回控制台以查看已完成的元素。
但是,我收到一条错误消息,提示“第 10 行:发生类型错误。没有从 nil 到整数的隐式转换”。我的代码没有 100% 完成。我仍在尝试向其中添加更多内容,但我想先解决此错误,然后再开始执行此操作。有人愿意帮助我吗?
这是代码
def Array_Maker
puts "How many people would you like to enter? : "
num = gets.chomp.to_i
nameArray = Array.new(num)
puts "\nEnter the names of the people you wish to add: "
nameArray.each do |x|
nameArray[x] = gets.chomp.to_s
end
nameArray.each do |x|
puts x
end
end
Array_Maker()
我可能做错了,但我正在尝试......
【问题讨论】:
-
你可以把
gets.chomp.to_i写成gets.to_i,因为gets.chomp是一个字符串,gets.chomp.to_s中的.to_s没有效果。
标签: ruby arrays type-conversion user-input