亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 用什么方式去判斷一個(gè)引用是指向一個(gè)數(shù)組還是散列或是一個(gè)函數(shù)呢? [打印本頁(yè)]

作者: xxgsky    時(shí)間: 2005-12-22 17:25
標(biāo)題: 用什么方式去判斷一個(gè)引用是指向一個(gè)數(shù)組還是散列或是一個(gè)函數(shù)呢?
用什么方式去判斷一個(gè)引用是指向一個(gè)數(shù)組還是散列或是一個(gè)函數(shù)呢?
作者: 笨狗    時(shí)間: 2005-12-22 18:38
把這個(gè)引用直接print出來看看
作者: 蘭花仙子    時(shí)間: 2005-12-22 18:39
原帖由 xxgsky 于 2005-12-22 17:25 發(fā)表
用什么方式去判斷一個(gè)引用是指向一個(gè)數(shù)組還是散列或是一個(gè)函數(shù)呢?


cat t.pl:

  1. my $a;
  2. sub func{ };

  3. my $refArray = [];
  4. my $refScalar = \$a;
  5. my $refHash = {};
  6. my $refSub = \&func;

  7. print $refArray,"\n";
  8. print $refScalar,"\n";
  9. print $refHash,"\n";
  10. print $refSub,"\n";
復(fù)制代碼



perl t.pl:

ARRAY(0x804c95c)
SCALAR(0x8060204)
HASH(0x804ca40)
CODE(0x8060228)
作者: orangetouch    時(shí)間: 2005-12-22 22:49
原帖由 蘭花仙子 于 2005-12-22 18:39 發(fā)表


cat t.pl:

[code]my $a;
sub func{ };

my $refArray = [];
my $refScalar = \$a;
my $refHash = {};
my $refSub = \&func;

print $refArray,"\n";
print $refScalar,"\n"; ...



作者: fayland    時(shí)間: 2005-12-22 23:16
http://search.cpan.org/~gbarr/Sc ... /lib/Scalar/Util.pm

reftype
作者: 思平    時(shí)間: 2005-12-23 03:32
原帖由 xxgsky 于 2005-12-22 17:25 發(fā)表
用什么方式去判斷一個(gè)引用是指向一個(gè)數(shù)組還是散列或是一個(gè)函數(shù)呢?


if ( ref $ref eq 'HASH' )
if ( ref $ref eq 'ARRAY' )
if ( ref $ref eq 'SCALAR' )
....
作者: xxgsky    時(shí)間: 2005-12-23 10:11
原帖由 思平 于 2005-12-23 03:32 發(fā)表


if ( ref $ref eq 'HASH' )
if ( ref $ref eq 'ARRAY' )
if ( ref $ref eq 'SCALAR' )
....

謝謝,這方法能查出引用是什么類型了.
我再深入問一下,如果該引用是個(gè)對(duì)象呢?我想知道該引用是實(shí)現(xiàn)了什么的?,該怎么判斷呢?
作者: fayland    時(shí)間: 2005-12-23 12:24
ref $class;
你試試模塊,如果是某個(gè)模塊的看看它顯示什么。
作者: brantc    時(shí)間: 2013-05-07 11:01
學(xué)習(xí)了:wink:
作者: rubyish    時(shí)間: 2013-05-07 18:05
ref 真的好東西




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2