Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Досутуп к методу объекта другого класса


Автор: gcc 3.6.2011, 00:27
в отладке есть, с Dumper \%hash
Код

{
          'bla' => [
                            [
                              {
                                u => bless( {                                           
                                                site => '11',
                                                title => '11',
                                                volume => '4'
                                              }, 'MyClass::MyClass' ),
                                un => undef,


я хочу получить доступ к

Код

print Dumper $hash{$_}[0][0]->{u} foreach %hash;


доступ вродебы есть, НО проблема, что в данном скрипте ДАЛЬШЕ идет обработка MyClass::MyClass и доступ к нему там

и скрипт выдает ошибку (ошибку на несуществование переменных в хэше где MyClass::MyClass), как только я хочу получить доступ (доступ к  $hash{$_}[0][0]->{u};)

как только я закомментирую это строку:
Код

print Dumper $hash{$_}[0][0]->{u} foreach %hash;


то все работает!


в чем может быть проблема? 
там в отлаке написано bless:
Код

 u => bless( {  


может быть нужно разыменовать как-то по другому??

Автор: SkoobyDoo 3.6.2011, 06:27
Ничего не понял  smile


Автор: gcc 3.6.2011, 09:44
как только я хочу получить доступ, пушу так
Код

        print Dumper $hash{$_}[0][0]->{u} foreach %hash;


скрипт дальше пишет, что не определена структура:
Код

u => bless( {                                           
                                                site => '11',
                                                title => '11',
                                                volume => '4'
                                              }, 'MyClass::MyClass' ),


и скрипт НЕ работает

почему оно отваливается, если получить так доступ к объекту?

Автор: arto 3.6.2011, 10:32
что означает выражение 'foreach %hash;' ?

Автор: gcc 3.6.2011, 10:36
arto, ааа точно не увидел smile 
попробую тогда так foreach keys %hash;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)