如果我创建一个student
类,并且每次创建一个新的学生对象,如何动态创建一个新的变量名以区分不同的学生?我不知道会有多少学生。
在下面代码的最后一行,我使用student1
作为新Student对象的变量名。如果我想创建100个学生对象,并且变量名是student1
至student100
,我将如何动态创建这些变量名?
class Student
attr_accessor :name
def initialize(name)
@name = name
puts "Hello #{name}"
end
end
puts "What is your name?"
answer = gets.chomp
student1 = Student.new(answer)
答案 0 :(得分:2)
您需要的是:
students = Array.new(100) { |i| Student.new("Name #{i}") }
如果要访问第i个学生,可以致电
students[i]
例如,无需创建一个名为“ students_13”的局部变量。
第一个学生是student[0]
,最后一个是student[99]
。