Автор Тема: Определить, существует ли процедура/метод  (Прочитано 2608 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн novice2

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 11
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Помогите правильно определить в рантайме:
существует ли процедура с данным именем?
То же самое для пакета?
Например типа

sub createObj {
  my $class = \'Fruit\';
  my $class1 = \'Fruit::Apple\';

  if( ??exist??($class1) ){
    return $class1->new();
  }else{
    return $class1->new();
  }
}

Спасибо.

Оффлайн novice2

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 11
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Определить, существует ли процедура/метод
« Ответ #1 : 15 Октября 2002, 14:05:40 »
PS: что бы подставить вместо ??exist??($class1)

Оффлайн Serchey

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 216
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.rivne.ukrtelecom.ua
Определить, существует ли процедура/метод
« Ответ #2 : 15 Октября 2002, 15:48:12 »
Когда-то я делал так:

my $mod = My::Mod->new();
if($mod->can(\'some_function\'){
 print "Yoo! I CAN!!!!\\n";
} else {
 die "I didn\'t find such function!\\n";
}

Оффлайн novice2

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 11
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Определить, существует ли процедура/метод
« Ответ #3 : 15 Октября 2002, 18:02:33 »
спасибо.

 

Sitemap 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