perl - perl 中的对象类名

标签 perl class object reference

我是 perl 的初学者,我需要知道如何检查对象类名。

我的代码是:

 foreach my $y (keys %$x) {
   print "$y\t$x->{$y}\n";
 }

输出:

154176568       [object HTMLImageElement]
146292140       [object HTMLDocument]
153907016       [object HTMLImageElement]

我只需要打印 HTMLImageElement 对象的键。

现在,问题是:

(1) 如何检查类名

(2) 如何获取/打印类名

最佳答案

在 Perl 中,所有类都神奇地扩展了 UNIVERSAL 包。它有一个名为 isa() 的方法,您可以使用它来执行此操作:

 foreach my $y (keys %$x) {
   if( $x->{$y}->isa('HTMLImageElement') ) {
      print "$y\t$x->{$y}\n";
   }
 }

关于perl - perl 中的对象类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9704577/

相关文章:

java - 我应该如何将 json 值返回到另一个方法中

Java变量/对象?双向链表逻辑

perl - 如何从中断的 CPAN 模块安装中恢复?

perl - 理解 'system'不同用法的区别

perl - 我应该从 DBIx::Class::ResultSet::* 方法返回什么结果?

javascript - 从继承的实例创建 javascript 基类对象

php - 使用 foreach 创建多维 StdClass 对象数组

Perl 匹配变量和性能。它是如何工作的?

javascript - 如何在没有 JQuery 的情况下获取一组 DIV ID

vb.net - 使用类层次结构创建对象列表时出现问题。 VB.net