急!!关于ruby类的定义

来源:百度知道 编辑:UC知道 时间:2024/06/26 03:51:23
作业的题目:创建一个学生类,有姓名(name)、学号(number)、性别(sex)的属性;通过键盘输入,显示。

class Student
def initialize (name,number,sex)
@name=name
@number=number
@sex=sex
end

def get_name
return @name
end

def get_number
return @number
end

def get_sex
return @sex
end
end
#创建一个学生类,并定义属性

puts "Please write name: "
names=gets
puts "Please write student number: "
numbers=gets
puts "Please write sex: "
sexs=gets
#通过键盘输入,获取值

student1=Student.new($names,$numbers,$sexs)
puts "The people name is " + student1.get_name
puts "The people number is: " + student1.get_number
puts "The people sex is: " + student1.get_sex
#类的使用

但运行时,出现错误!请问高手们,要怎么解决?那里有错呢?

student1=Student.new($names,$numbers,$sexs)
三个变量前的$符号去掉就可以了。加上$变成三个全局变量了,内容都是nil。
你如果把打印的+换成puts "The people name is " , student1.get_name就能看出来了。