牛骨文教育服务平台(让学习变的简单)
博文笔记

[Ruby]Struct 结构体的使用

创建时间:2016-07-29 投稿人: 浏览次数:3506

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

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。