微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Ruby中运行时创建对象

PHP
<?PHP
$dynamicProperties = array("name" => "bob","phone" => "555-1212");
$myObject = new stdClass();
foreach($dynamicProperties as $key => $value) {
    $myObject->$key = $value;
}
echo $myObject->name . "<br />" . $myObject->phone;
?>

我如何在ruby这样做?

解决方法

如果你想做一个“动态的”正式课,使用 Struct
>> Person = Struct.new(:name,:phone)
=> Person
>> bob = Person.new("bob","555-1212")
=> #<struct Person name="bob",phone="555-1212">
>> bob.name
=> "bob"
>> bob.phone
=> "555-1212"

要使一个对象完全从一个哈希中完成,请使用OpenStruct

>> require 'ostruct'
=> true
>> bob = OpenStruct.new({ :name => "bob",:phone => "555-1212" })
=> #<OpenStruct phone="555-1212",name="bob">
>> bob.name
=> "bob"
>> bob.phone
=> "555-1212"

原文地址:https://www.jb51.cc/ruby/267168.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐