2

假设我有以下字段的结构:first_name,last_name,phone

Contact = Struct.new :first_name, :last_name, :phone

现在我想动态添加另一个名为 :email 的字段。

是否有捷径可寻?

4

1 回答 1

8

Ruby 的OpenStruct似乎最适合这个用例。

require 'ostruct'
...
contact = OpenStruct.new(first_name: "John", last_name: "Doe", phone: "XXXXXXX")

后来你可以做

contact.email = "john.doe@mymail.com"
于 2013-06-20T09:44:12.260 回答