【发布时间】:2010-10-22 10:48:58
【问题描述】:
我正在为驼鹿对象编写一个模块。我想允许使用此对象(或我自己......)的用户根据他/她的需要动态添加一些字段。我无法先验地定义这些字段,因为我根本不知道它们会是什么。
我目前只是添加了一个名为 extra 的 hashref 类型的字段,该字段设置为 rw,因此用户可以简单地将内容放入该哈希中:
# $obj is a ref to my Moose object
$obj->extra()->{new_thingie}="abc123"; # adds some arbitrary stuff to the object
say $obj->extra()->{new_thingie};
这行得通。但是……这是一种常见的做法吗?还有其他(可能更优雅)的想法吗?
请注意,我不希望创建另一个扩展此模块的模块,这实际上只是为了我想添加的即时内容。
【问题讨论】: