Как я обрабатываю дополнительные параметры у Американского лося?

Я нашел решение:

for file1 in 

Я нашел решение:

[110]cat1/* do if [ -L $file1]; then dir1="$(dirname `readlink -f $file1`)" dir2="$(dirname `readlink -f

Я нашел решение:

[110]cat2`)" if [dir1 == dir2] echo $dir1 fi fi done
8
задан brian d foy 25 February 2009 в 02:31
поделиться

3 ответа

$self->mech вызов метода; Вы не можете действительно рассматривать его как поле в структуре C. Если Вы хотите установить его, необходимо передать новый объект ему.

        $self->mech( 
            WWW::Mechanize->new(
                agent => 'xyz',
                stack_depth => 1
            )
        );
13
ответ дан 5 December 2019 в 06:54
поделиться

Вероятно, предпочтительный Американский лось способ сделать это должен установить lazy_build на атрибуте:

has 'mech' => (is => 'rw', isa => 'WWW::Mechanize', lazy_build => 1);
sub _build_mech {
     warn("no Mech set for " . $self->urlspan->name);
     WWW::Mechanize->new(
           agent => 'Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.0.6)'.
                    ' Gecko/2009011913 Firefox/3.0.4',
           stack_depth => 1
     );
}

Это разрешит атрибуту 'механика', чтобы быть заполненным в первый раз, когда это называют, если иначе не установлено конструктором или средством доступа (так как это все еще 'rw').

6
ответ дан 5 December 2019 в 06:54
поделиться

В то время как Perl обеспечил, способность использовать приписывает способ, которым Вы пытаетесь в течение очень многих лет (через то, что называют lvalue нижними индексами), это не что-то, что было в первых выпусках Perl OO, и люди в значительной степени учились обходиться без него. Тем более, что реализация проверки немного хитра (и неэффективна).

Вы могли использовать MooseX:: Meta:: Атрибут:: Lvalue, но (согласно документу) за счет не наличия типа, проверяющего некоторые атрибуты.

Я рекомендовал бы просто придерживаться $self-> атрибут ("значение") стиль.

5
ответ дан 5 December 2019 в 06:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: