Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Программирование > Perl

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 04.03.2003, 07:27
sultan_M вне форума Посмотреть профиль Отправить личное сообщение для sultan_M Найти все сообщения от sultan_M
  № 1  
sultan_M

Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
По умолчанию goto &подпрограмма, exit, sleep - непонятно

Привет всем!

У меня 3 вопроса :

1ый вопрос: Я прочитал документацию, в котором написали :

Цитата:
Функция Goto:

goto метка;
goto выражение;
goto &подпрограмма

Безусловный переход на метку. Нельзя делать переход на метку в структуру, которая должна быть инициирована, например, подпрограмму или цикл foreach и т.д. Вторая форма применяется для динамического определения перехода. Например:

goto ('метка1', 'метка2', 'метка3')[$i];

Здесь при $i = 0 будет переход на 'метка1', $i = 1 на 'метка2' и т.д. Третья форма (goto &подпрограмма) довольно "хитрый" метод подмены имени вызываемой подпрограммы именем текущей. Это используется в методе автозагрузки, когда нужно запустить другую процедуру, но под именем текущей, как будто та была вызвана раньше.
1ая и 2ая формы мне понятны, но 3ая о чём говорит ?!!

2ой воппрос: Функция exit используется по слелующему синтаксису :
Код:
exit выражение;
Причёт здесь выражение? И как используется с примером?

3ий вопрос: В данной документации тоже написали :
Цитата:
Функция Sleep:

sleep выражение;
sleep;

Приостанавливает работу скрипта на указанное число секунд или зацикливается, если аргумент отсутствует. Работа продолжается, если получен сигнал SIGALARM. Возвращает время фактической паузы.
1ая часть объяснения этой функции понятна, а следующие - нет

ОБЪЯСНИТЕ ЧАЙНИКУ ПОЖАЛУЙСТА!
__________________
время никого не ждёт.

Старый 06.03.2003, 09:19
sultan_M вне форума Посмотреть профиль Отправить личное сообщение для sultan_M Найти все сообщения от sultan_M
  № 2  
sultan_M

Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
SPV где Вы??!!!
__________________
время никого не ждёт.

Старый 07.03.2003, 07:40
sultan_M вне форума Посмотреть профиль Отправить личное сообщение для sultan_M Найти все сообщения от sultan_M
  № 3  
sultan_M

Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
Эээй!
__________________
время никого не ждёт.

Старый 07.03.2003, 08:35
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 4  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
По умолчанию Re: goto &подпрограмма, exit, sleep - непонятно

Цитата:
Оригинал написал(а) sultan_M

1ая и 2ая формы мне понятны, но 3ая о чём говорит ?!!
Первое правило: "икогда не читайте за завтраком советских газет". (c)

Процитированная тобой "документация" содержит бруд. Правильный текст:

Цитата:
The goto-&NAME form is quite different from the other forms of goto. In fact, it isn't a goto in the normal sense at all, and doesn't have the stigma associated with other gotos. Instead, it substitutes a call to the named subroutine for the currently running subroutine. This is used by AUTOLOAD subroutines that wish to load another subroutine and then pretend that the other subroutine had been called in the first place (except that any modifications to @_ in the current subroutine are propagated to the other subroutine.) After the goto, not even caller will be able to tell that this routine was called first.
Что оно делает: передает управление указанной процедуре, скрывая тот факт, что процедура, выполняемая в данный момент, вообще вызывалась. К примеру, если в процедуре X сделан "goto &Y", то при завершении процеры Y управление вернется не в X, а сразу тому, кто X вызывал.

Цитата:

2ой воппрос: Функция exit используется по слелующему синтаксису :
Открой документацию. Там все написано.

Цитата:
1ая часть объяснения этой функции понятна, а следующие - нет
Открой раздел про сигналы и управление процессами.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 07.03.2003, 09:35
sultan_M вне форума Посмотреть профиль Отправить личное сообщение для sultan_M Найти все сообщения от sultan_M
  № 5  
sultan_M

Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
Crazy :

Спасибо БОЛЬШОЕ!

А насчёт 2ого 3его?!
__________________
время никого не ждёт.

Старый 07.03.2003, 10:09
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 6  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Перечитай мое сообщение еще раз. Цитировать несколько страниц документации тебе никто не будет.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 13.03.2003, 11:44
SPV вне форума Посмотреть профиль Отправить личное сообщение для SPV Найти все сообщения от SPV
  № 7  
SPV
 
Аватар для SPV

Регистрация: Jan 2000
Адрес: St-Petersburg
Сообщений: 1,229
Отправить сообщение для SPV с помощью ICQ
Сорри, я отдыхал после свадьбы... своей...

exit выражение;

Любая программа просто обязана возвращать хоть что-то процессу, её запустившему. Как правило она возвращает код ошибки, если такая произошла или 0 при успешном выполнении. Т.е. exit для всего скрипта это то-же самое, что и return для подпрограммы.

SIGALARM

Тут тебе не помешает почитать что-либо о межпроцессном обмене сигналами. В частности сигнал ALARM посылается в процесс при необходимости его принудительного завершения (например, если юзер нажимает CTRL+C в консольной программе). В Перле, как и в любом другом языке высокого уровня, есть возможность вешать свой обработчик (свою процедуру), которая будет выполняться по приходе различных сигналов.
__________________
Two beer or not two beer?...

Старый 16.03.2003, 11:12
sultan_M вне форума Посмотреть профиль Отправить личное сообщение для sultan_M Найти все сообщения от sultan_M
  № 8  
sultan_M

Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
2_SPV:
Спасибо большое умный человек
Счастливой новой жизни...
__________________
время никого не ждёт.

Создать новую тему   Часовой пояс GMT +4, время: 02:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:04.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.