當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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類。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。