perl - 如何在perl中对对象进行散列

标签 perl class hash object

我希望能够将对象存储在散列结构中,这样我就可以将对象的名称用作变量。 有人可以帮我做一个 子新{ ... } 创建一个新对象作为散列成员的例程?我不确定如何去做这件事,或者当它像这样存储时如何引用和/或使用该对象。我只是希望能够为其他子程序使用和引用该对象的名称。

请参阅我在 How can I get name of an object in Perl? 中的评论为什么我要这样做。

谢谢

最佳答案

对象并没有真正的名字。你为什么要给他们起名字?引用的基本要点之一是您不需要知道名称,甚至不需要知道它是什么类,就可以使用它。

可能有更好的方法来完成您的任务。

但是,由于对象只是引用,而引用只是标量,所以对象可以是哈希值:

my %hash = (
    some_name => Class->new( ... ),
    other_name => Class->new( ... ).
    );

您可能想要阅读Intermediate Perl 等书籍以了解引用和对象的工作原理。

关于perl - 如何在perl中对对象进行散列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3613865/

相关文章:

linux - 这两个字符串有何不同?

Perl 哈希和数组

python - 如何建立Python项目?

java - 如何保护类,使其在包外不可见

perl - perl 的每个功能都值得使用吗?

hash - Golang md5 Sum() 函数

linux - 有没有办法在linux中重命名大量文件

Perl:仅查找 "pure perl"模块

perl - 无法在 Perl 中取消引用标量

html - 将 HTML id 更改为类会扰乱 CSS 样式