Форум программистов, компьютерный форум, киберфорум
Perl
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Perl Заменить строку в файле htaccess https://www.cyberforum.ru/ perl/ thread813517.html
Доброго времени суток, только начал изучать Perl. Для замены строки использую код. open(PASS,'+< '.$file) || die "Файл не найден!"; while(<PASS>){ if(m/$line_o/i){ ...
Клиентская и серверная части Perl
Доброе время суток, требуется написать программу, у которой есть клиент и сервер. Сервер должен быть демоном. Клиент может обращаться к серверу, в ответ сервер должен выдавать результат. Меня...
Perl perl-static.exe использование без *.pm Попробовал собрать Perl 5.10.1 со статически-включенными модулями Win32 и Time::HiRes , как-бы альтернатива стандартному miniperl Пока два вопроса... Не получается переопределить use , это... https://www.cyberforum.ru/ perl/ thread809848.html Perl Сравнение слов со словарём https://www.cyberforum.ru/ perl/ thread808595.html
У нас один 1.тхт документ с правильными словами..и еше один 2.тхт файл с неправильными словами в предложениях.. например: на 1.тхт слова в таком ввиде.. саша поставил школа тарелка парта стоп...
Perl Странно работает Win32::GUI::MessageBox
Добрый день Народ есть в модуле на перле такая строка my $otvet = Win32::GUI::MessageBox($HANDLE, "Сохранить?","Подтверждение", 4|MB_ICONQUESTION); из другой проги в цикле вызывается этот...
Perl Привести простой пример кода на Perl, где были бы семантические и синтаксические ошибки https://www.cyberforum.ru/ perl/ thread807909.html
Необходимо привести простой пример кода на Perl, где были бы семантические и синтаксические ошибки, если можно с комментариями.
Perl Создание телефонного справочника https://www.cyberforum.ru/ perl/ thread807511.html
Пытаюсь изучить язык perl. Помогите советом и практически. Вообщем поставил задачу создать справочник. В качестве БД обычный текстовый файл, для простоты там содержатся только фамилия и телефон,...
Хэш-массивы - некорректная проверка на существование элемента Perl
Всем доброго времени суток! такая проблема: %hash = ( 'start' => 'a', 'a' => 'b', 'b' => 's', 's' => '' ); print "Введите элемент для удаления:\n";
Perl Скрипт глобальной правки устройств Добрый день, товарищи программисты. С Perl работаю недавно, есть необходимость использования данного языка в качестве средства автоматизации. #!/usr/bin/perl use Net::Telnet; use Net::Ping; use... https://www.cyberforum.ru/ perl/ thread806252.html Perl Как сделать замену в текстовом файле, имеющем например 5 полей? Как сделать замену в текстовом файле, имеющем например 5 полей? Подробнее иметься прайс в текстовом формате (5 поле) требуется периодически совершать замену данных в этих поля и все это надо на... https://www.cyberforum.ru/ perl/ thread805746.html
Perl Как в Denwer установить пакет?
Запускаю c:\WebServers\usr\local\perl\bin\ppm.bat, устанавливаю там XML-RSS-Parser, перезапускаю Денвер, загружаю страницу и получаю ошибку. В логах написано Premature end of script headers:...
Perl Как задать кодировку https://www.cyberforum.ru/ perl/ thread802595.html
Здравствуйте! Пишу так#!/usr/bin/perl -w use strict; use CGI qw(:standard); print header; print "Hello!"."ПРивет!"; С помощью строки "print header;" браузеру отправляется Content-Type:...
Невнимательный
522 / 413 / 145
Регистрация: 08.02.2013
Сообщений: 1,127
Записей в блоге: 2
22.03.2013, 17:55 0

Вызов метода не определенного в классе - Perl - Ответ 4293241

22.03.2013, 17:55. Показов 989. Ответов 4
Метки (Все метки)

Ответ

поищите bless в этих файлах
my $var = ААА::ВВВ->new(); присваевает переменной ссылку на объект.

Даже не знаю бывает-ли new вшитым в бинарные XS-модули, или как их назвать, те которые лежат в ./lib/auto/ и ./site/lib/auto/ ни разу не замечал такого, тогда наверное в .pm можно было-бы найти только bootstrap

Добавлено через 41 минуту
нашёл это Moo .)
так оно собственно и сделано для того что-бы создавать модули без new
Perl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
=pod
 
=encoding utf-8
 
=head1 NAME
 
Moo - Minimalist Object Orientation (with Moose compatiblity)
 
=head1 SYNOPSIS
 
 package Cat::Food;
 
 use Moo;
 
 sub feed_lion {
   my $self = shift;
   my $amount = shift || 1;
 
   $self->pounds( $self->pounds - $amount );
 }
 
 has taste => (
   is => 'ro',
 );
 
 has brand => (
   is  => 'ro',
   isa => sub {
     die "Only SWEET-TREATZ supported!" unless $_[0] eq 'SWEET-TREATZ'
   },
 );
 
 has pounds => (
   is  => 'rw',
   isa => sub { die "$_[0] is too much cat food!" unless $_[0] < 15 },
 );
 
 1;
 
And elsewhere:
 
 my $full = Cat::Food->new(
    taste  => 'DELICIOUS.',
    brand  => 'SWEET-TREATZ',
    pounds => 10,
 );
 
 $full->feed_lion;
 
 say $full->pounds;
Там куча файлов .pm файлов участвует, в частности Moo::_Utils занимается экспортом методов.

Добавлено через 16 минут
или это в файле Object.pm
Perl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
sub new {
  my $class = shift;
  unless (exists $NO_DEMOLISH{$class}) {
    unless ($NO_DEMOLISH{$class} = !$class->can('DEMOLISH')) {
      ($DEMOLISH_MAKER ||= do {
        require Method::Generate::DemolishAll;
        Method::Generate::DemolishAll->new
      })->generate_method($class);
    }
  }
  $NO_BUILD{$class} and
    return bless({ ref($_[0]) eq 'HASH' ? %{$_[0]} : @_ }, $class);
  $NO_BUILD{$class} = !$class->can('BUILD') unless exists $NO_BUILD{$class};
  $NO_BUILD{$class}
    ? bless({ ref($_[0]) eq 'HASH' ? %{$_[0]} : @_ }, $class)
    : do {
        my $proto = ref($_[0]) eq 'HASH' ? $_[0] : { @_ };
        bless({ %$proto }, $class)->BUILDALL($proto);
      };
}


Вернуться к обсуждению:
Вызов метода не определенного в классе Perl
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2013, 17:55
Готовые ответы и решения:

Вызов метода в классе из другого
Не получается выполнить следующую цепочку действий. Запускаю метод в классе B через main, он...

Вызов статического метода класса в другом классе
Как вызвать статический метод из одного класса в другом? вот этот код не работает class A{...

Не работает вызов метода PDO в дочернем классе
Есть класс: class Device { public static $device = array('id', 'name', 'type', 'buyDate',...

В производном классе вызов приватного метода базового класса
Добрый вечер. Помогите понять одну вещь. Имеется такое наследование: class test1 { public: ...

4
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2013, 17:55

Постоянный вызов метода основного класса в наследованном классе
Всем привет! Вопрос про наследование. Можно сделать так, чтобы при вызове в производном классе...

Вызов метода в классе формы из класса другого проекта
Есть проект Project1 и Project2 - оба ClassLibrary. В Project1 происходит вызов форми из Project2...

Вызов метода базового класса игнорируя переопределенный метод в производном классе
Как вызвать метод базового класса игнорируя переопределенный метод в производном классе. PS...

Полиморфизм: вызов метода базового класса, переопределенного метода и нового метода
В базовом классе метод помечен как virtual. Насколько я понял из книги: override означает, что...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.