在红宝石你可以去
a = { }
a['a'] = 82
a['b'] = 'foo'
puts a['a'] # 82
Run Code Online (Sandbox Code Playgroud)
我希望我可以使用点符号,如javascript.
puts a.a # 82
有没有办法构建对象文字并在ruby中用点符号访问它们?
old*_*god 14
你可以创建一个Struct.
A = Struct.new(:a, :b)
a = A.new(82, 'foo')
puts a.a
#=> 82
Run Code Online (Sandbox Code Playgroud)
编辑:
你甚至可以做
a = { }
a['a'] = 82
a['b'] = 'foo'
Struct.new(*a.keys).new(*a.values)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4788 次 |
| 最近记录: |