本文简要介绍ruby语言中 Struct类
的用法。
Class Struct 提供了一种方便的方法来创建可以存储和获取值的简单类。
此示例创建 Struct
、 Struct::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 Struct.each用法及代码示例
- Ruby Struct each()用法及代码示例
- Ruby Struct.length用法及代码示例
- Ruby Struct.filter用法及代码示例
- Ruby Struct.deconstruct_keys用法及代码示例
- Ruby Struct filter()用法及代码示例
- Ruby Struct.new用法及代码示例
- Ruby Struct inspect()用法及代码示例
- Ruby Struct.select用法及代码示例
- Ruby Struct.struct[name]用法及代码示例
- Ruby Struct size()用法及代码示例
- Ruby Struct.self ==用法及代码示例
- Ruby Struct eql?()用法及代码示例
- Ruby Struct.inspect用法及代码示例
- Ruby Struct.dig用法及代码示例
- Ruby Struct length()用法及代码示例
- Ruby Struct members()用法及代码示例
- Ruby Struct.to_a用法及代码示例
- Ruby Struct.to_h用法及代码示例
- Ruby Struct.to_s用法及代码示例
- Ruby Struct to_a()用法及代码示例
- Ruby Struct.size用法及代码示例
- Ruby Struct to_s()用法及代码示例
- Ruby Struct values()用法及代码示例
- Ruby Struct.members用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Struct类。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。