以与访问对象属性相同的方式访问哈希属性

时间:2013-04-22 06:31:08

标签: ruby hash

我有一个红宝石哈希,说

h={name: "john", age: "23"}

它不是一个对象,只是一个从对象创建的哈希。我想在访问对象时使用method属性访问其值。即:

h.name => "john"
h.age  => 23

是否可以这样做?

2 个答案:

答案 0 :(得分:9)

在您的情况下,使用openstruct

会很方便
require 'ostruct'

h = OpenStruct.new(name: "john", age: "23")

h.name #=> "john"
h.age  #=> 23

答案 1 :(得分:3)

也许这就是你要找的东西

item = Struct.new(:id, :name)
item.new(1, 'Name')