当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Struct类用法及代码示例


本文简要介绍ruby语言中 Struct类 的用法。

Class Struct 提供了一种方便的方法来创建可以存储和获取值的简单类。

此示例创建 StructStruct::Customer 的子类;第一个参数是一个字符串,是子类的名称;其他参数,符号,确定新子类的members

Customer = Struct.new('Customer', :name, :address, :zip)
Customer.name       # => "Struct::Customer"
Customer.class      # => Class
Customer.superclass # => Struct

对应于每个成员的是两个方法,一个 writer 和一个 reader,它们存储和获取值:

methods = Customer.instance_methods false
methods # => [:zip, :address=, :zip=, :address, :name, :name=]

可以通过方法 ::new 创建子类的实例,并为其成员分配值:

joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
joe # => #<struct Struct::Customer name="Joe Smith", address="123 Maple, Anytown NC", zip=12345>

成员值可以这样管理:

joe.name    # => "Joe Smith"
joe.name = 'Joseph Smith'
joe.name    # => "Joseph Smith"

因此;请注意,成员名称可以表示为字符串或符号:

joe[:name]  # => "Joseph Smith"
joe[:name] = 'Joseph Smith, Jr.'
joe['name'] # => "Joseph Smith, Jr."

Struct::new

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Struct类。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。