Struct 结构体的使用
结构体类。由Struct.new生成该类的子类。在子类中使用new方法就可以生成构造体。构造体子类中定义了构造体成员的访问方法
n = Struct.new("N", :name, :age)
obj = n.new("hello",6)
=》 #<struct Struct::N name="hello", age=6>
obj.class
=> Struct::N
obj.name
=> "hello"
obj.age
=> 6
如果看不懂可以分解开来
module M
class N
attr_accessor :name ,:age
def initialize(name,age)
@name = name
@age = age
end
end
end
fred = M::N.new(“hello”,6)
fred.class
=>M::N
fred.name
=>"hello"
fred.age
=>6
只是将Struct换成了M
在结构体一般是用来存储数据的类型的一种写法,而ruby给我们提供了一种非常便捷的写法。这也是ruby的魅力之处吧!
上面的只是便于记忆,其实本质还是不同的,可以参考一下了解具体的特性
ruby查考手册struct