Автор Тема: Проверка существования функции  (Прочитано 4850 раз)

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

Оффлайн DartSidius

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 309
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проверка существования функции
« : 16 Декабря 2006, 05:59:41 »
как можно проверить...есть функция?...с помощью eval?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Проверка существования функции
« Ответ #1 : 17 Декабря 2006, 01:06:46 »
можно. именно eval. примеры - поиск по форуму.
« Последнее редактирование: 17 Декабря 2006, 01:14:55 от NeoNox »
The documentations is your friend

Оффлайн DartSidius

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 309
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проверка существования функции
« Ответ #2 : 17 Декабря 2006, 15:25:58 »
мало чё нашел...только на проверку модуля, но не помолго

if(eval(&sub)) {print "OK";}

не работает

Оффлайн AnnA

  • Фанатка форума
  • Старожил
  • ****
  • Сообщений: 263
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Проверка существования функции
« Ответ #3 : 17 Декабря 2006, 16:15:46 »
если вы хотите проверить - есть ли у объекта метод:
if ($obj->can("method_name")) { .... }
пока-пока. :)

Оффлайн ctax

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 22
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проверка существования функции
« Ответ #4 : 18 Декабря 2006, 09:22:54 »
perl -e \'
eval {
&asd;
};
print $@ if $@;
\'

Оффлайн xames

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 62
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проверка существования функции
« Ответ #5 : 20 Декабря 2006, 20:32:31 »
Может не со всем по теме но кому нибудь пригодится:

print adad();
print asdfsddad();
print adffsdad();
print a13dfadfdg23();
print случайно_вызванная_но_не_определенная_функция();


sub AUTOLOAD
{
 print "$AUTOLOAD\\n";
 return "no function";
}

 

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