mas*_*ily 2 ruby struct metaprogramming
假设我的结构包含以下字段:first_name,last_name,phone
Contact = Struct.new :first_name, :last_name, :phone
Run Code Online (Sandbox Code Playgroud)
现在我想动态添加另一个名为:email的字段.
是否有捷径可寻?
Ruby的OpenStruct似乎最适合这个用例.
require 'ostruct'
...
contact = OpenStruct.new(first_name: "John", last_name: "Doe", phone: "XXXXXXX")
Run Code Online (Sandbox Code Playgroud)
后来你可以做到
contact.email = "john.doe@mymail.com"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1314 次 |
| 最近记录: |