Potrzebuję tych informacji, aby zdecydować, która z klas z określoną metodą jest wywoływana.
3 odpowiedzi
Do określenia typu lub klasy referencyjnej zmiennej służy wbudowane ref:
my $obj = bless [] => 'Some::Class';
print ref($obj), "\n"; # 'Some::Class';
Więcej szczegółów można znaleźć w Scalar::Util
reftype
(zawsze zwraca typ kontenera) i blessed
(zawsze zwraca nazwę klasy).
ref
zwykle działa dobrze, ale blessed
w Scalar::Util< /a> może być lepszym wyborem. Zwróci undef
dla zwykłych referencji, które nie są na przykład pobłogosławione w pakiecie.
ref($obj)
zrobi to za Ciebie.
Podobne pytania
Nowe pytania
perl
Perl to proceduralny, wysokopoziomowy, dynamiczny język programowania ogólnego przeznaczenia, znany z natywnej obsługi wyrażeń regularnych i możliwości analizowania ciągów. Użyj tego tagu w przypadku ogólnych pytań dotyczących Perla. W przypadku rzeczy związanych z nowym (ale pokrewnym) językiem Raku (dawniej „Perl 6”), użyj tagu raku. W przypadku wyrażeń regularnych w stylu Perla w innych językach użyj znacznika regex lub, jeśli są one oparte na bibliotece PCRE, znacznika pcre.