anonymous@RULINUX.NET~# Last login: 2024-11-22 06:08:38
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Re:Как сделать такое в перле?

Нет, помимо print'а может быть любой иной оператор. Это именно if так интерпретируется.

anonymous(*) (2009-07-02 00:37:37)

Mozilla/5.0 (X11; U; Linux x86_64; ru; rv:1.9.0.11) Gecko/2009062714 Gentoo Firefox/3.0.11

[Ответить на это сообщение]
[#] [Добавить метку] [Редактировать] Ответ на: Re:Как сделать такое в перле? от anonymous 2009-07-02 00:37:37
avatar
Скрыть

Как сделать такое в перле?

Хочу функцию, которая будет принимать аргументы, идущие в коде до имени самой функции, аналогично if, foreach и т.п., например:

print 'test' if 1;

if принял аргумент, идущий до самой функции.

Vitel(*)(2009-07-02 00:37:37)

Mozilla/5.0 (X11; U; Linux x86_64; ru; rv:1.9.0.11) Gecko/2009062714 Gentoo Firefox/3.0.11
[#] [Добавить метку] [Редактировать] Ответ на: Re:Как сделать такое в перле? от anonymous 2009-07-02 00:37:37
avatar
Скрыть

Re:Как сделать такое в перле?

не очень понял что надо?

если надо вызвать функцию, если аргумент существует(например файл) то как-то так:

  1.  func ($arg) if -f $arg;
  2.  
  3.  sub func{
  4.   print "file $_[0] существует "
  5.  }
  6.  

vilfred(*)(2009-07-02 20:17:34)

Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.8.0.3) Gecko/20060524 ASPLinux/1.5.0.3-0.110am Firefox/1.5.0.3 pango-text
[#] [Добавить метку] [Редактировать] Ответ на: Re:Как сделать такое в перле? от anonymous 2009-07-02 00:37:37
avatar
Скрыть

Re:Как сделать такое в перле?

перла не знаю, боюсь ошибиться, но подозреваю что в твоём примере if - не функция. Видимо "print ... if ..." - встроенный оператор с жёстко заданным синтаксисом.

bugmaker(*)(2009-07-03 02:46:13)

Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4
[#] [Добавить метку] [Редактировать] Ответ на: Re:Как сделать такое в перле? от anonymous 2009-07-02 00:37:37
avatar
Скрыть

Re:Как сделать такое в перле?

Например, хочу написать функцию in, которая понимает такой синтаксис:

if ($elem in @array) {...}

Vitel(*)(2009-07-03 01:33:31)

Mozilla/5.0 (X11; U; Linux x86_64; ru; rv:1.9.0.11) Gecko/2009062714 Gentoo Firefox/3.0.11
[#] [Добавить метку] [Редактировать] Ответ на: Re:Как сделать такое в перле? от anonymous 2009-07-02 00:37:37
avatar
Скрыть

Re:Как сделать такое в перле?

> if ($elem in @array) {...}

иными словами ты хочешь без прохода по массиву сказать да, если элемент существует и выполнить какойто кусок кода?

Если это так, то выполнить поиск элемента без прохода по нему можно через хеш.

if (exists $hash{$elem}) { ... } где массивом будут ключи хеша, хеш там так устроен, что перебор делает гдето вовнутренностях перла.

vilfred(*)(2009-07-03 08:30:46)

Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.8.0.3) Gecko/20060524 ASPLinux/1.5.0.3-0.110am Firefox/1.5.0.3 pango-text
[#] [Добавить метку] [Редактировать] Ответ на: Re:Как сделать такое в перле? от anonymous 2009-07-02 00:37:37
avatar
Скрыть

Re:Как сделать такое в перле?

Или просто заюзать оператор ~~ Я хочу не просто сделать поиск, а сделать его именоо в указанном мной синтаксисе.

Vitel(*)(2009-07-03 10:27:42)

Mozilla/5.0 (X11; U; Linux x86_64; ru; rv:1.9.0.11) Gecko/2009062714 Gentoo Firefox/3.0.11
[#] [Добавить метку] [Редактировать] Ответ на: Re:Как сделать такое в перле? от anonymous 2009-07-02 00:37:37
avatar
Скрыть

Re:Как сделать такое в перле?

тогда тебе либо модуль писать, и потом его юзать use MyCoolModule и из него вызывать функцию, либо править исходники перла. Вообще довольно странно твое желание, в перле можно сделать практически все, используя стандартные функции.

vilfred(*)(2009-07-03 11:06:04)

Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.8.0.3) Gecko/20060524 ASPLinux/1.5.0.3-0.110am Firefox/1.5.0.3 pango-text
Этот тред читают 1 пользователь:
Анонимных: 1
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!