![]() |
|
|
![]()
|
|
| irinazanuda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 911 Регистрация: 23.6.2010 Репутация: нет Всего: 18 |
Как сделать так, чтобы скрипт заходил на страницу, совершал определённый цикл, а потом заходил на страницу со следующим порядковым номером? Интуитивно понимаю, что как-то так, но мне бы знать, как заставить здесь Руби видеть var как переменную, а не как слово:
login var=0 while 1 $a.get "http://название.ru/users/var/profile/" do |page| post_message page, "sbj", "msg" var=var+1 end end Это сообщение отредактировал(а) irinazanuda - 26.2.2011, 20:45 |
|||
|
||||
| c0va23 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 28.11.2010 Репутация: 1 Всего: 3 |
"http://название.ru/users/#{var}/profile/" так.
|
|||
|
||||
| irinazanuda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 911 Регистрация: 23.6.2010 Репутация: нет Всего: 18 |
Спасибо. сейчас посмотрю будет работать или нет. Спасибо, что ответили.
Это сообщение отредактировал(а) irinazanuda - 28.2.2011, 01:29 |
|||
|
||||
| irinazanuda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 911 Регистрация: 23.6.2010 Репутация: нет Всего: 18 |
пашет, спасибо! Только вот теперь когда он попадает на страницу, которой не существует, - вылетает. А надо, чтобы просто увеличивал var на 1 и пробовал дальше.
Это сообщение отредактировал(а) irinazanuda - 28.2.2011, 01:30 |
|||
|
||||
| WarHog |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 20.10.2007 Где: Воронеж Репутация: нет Всего: 2 |
irinazanuda, проще всего воспользоваться begin - rescue
--------------------
|
|||
|
||||
| irinazanuda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 911 Регистрация: 23.6.2010 Репутация: нет Всего: 18 |
А так как сова23 мне нравится - заработал, только это, может напишите такую строчку как сова 23
|
|||
|
||||
| c0va23 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 28.11.2010 Репутация: 1 Всего: 3 |
Это сообщение отредактировал(а) c0va23 - 27.2.2011, 00:01 |
|||
|
||||
| irinazanuda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 911 Регистрация: 23.6.2010 Репутация: нет Всего: 18 |
while 1
begin $a.get "http://название.ru/users/var/profile/" do |page| #ошибка вылезает здесь rescue => Errno::ECONNREFUSED #это пробовалось и без ECONNREFUSED, и с е вместо ECONNREFUSED var=var+1 end post_message page, "sbj", "msg" var=var+1 end Теперь он даже не запускается: говорит, что ему rescue - unexpected. Это сообщение отредактировал(а) irinazanuda - 28.2.2011, 01:30 |
|||
|
||||
| c0va23 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 28.11.2010 Репутация: 1 Всего: 3 |
Ты пишешь rescue не в том месте. И нужно писать так:
|
||||
|
|||||
| WarHog |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 20.10.2007 Где: Воронеж Репутация: нет Всего: 2 |
irinazanuda, у тебя получается тот end, что относится к do, смешался с тем end'ом, что относится к rescue, т.е. rescue получается внутри пары do - end, и для него нет соответсвующих begin и end
--------------------
|
|||
|
||||
| irinazanuda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 911 Регистрация: 23.6.2010 Репутация: нет Всего: 18 |
Буду пробовать ещё как Вы сказали.
Это сообщение отредактировал(а) irinazanuda - 28.2.2011, 01:31 |
|||
|
||||
| irinazanuda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 911 Регистрация: 23.6.2010 Репутация: нет Всего: 18 |
Всё КЛАССНО!
теперь stdout сохраняет в файл, но не выводит на экран. Неудобно. Это сообщение отредактировал(а) irinazanuda - 28.2.2011, 01:32 |
|||
|
||||
| irinazanuda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 911 Регистрация: 23.6.2010 Репутация: нет Всего: 18 |
надо ещё, чтобы он считывал из файла числа, потом сравнивал их с var, и в случае совпадения - пропускал страницу с этим var и просто увеличивал на 1. Такой своеобразный игнор-лист. Ну, можно не из файла, можно и прям в код забить. теперь stdout сохраняет в файл, но не выводит на экран.
Это сообщение отредактировал(а) irinazanuda - 28.2.2011, 01:34 |
|||
|
||||
| irinazanuda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 911 Регистрация: 23.6.2010 Репутация: нет Всего: 18 |
теперь всё ок с обработкой ошибки, только вот после этого
rescue => e puts "page http://www.название.ru/users/#{i}/profile doesn't exist" ensure i=i+1 end он мне всегда возвращает сообщение о том, что page doesn't exist, даже когда исключения нет. В принципе, на работу программы не влияет, но это несоответствие Это сообщение отредактировал(а) irinazanuda - 28.2.2011, 01:35 |
|||
|
||||
| WarHog |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 20.10.2007 Где: Воронеж Репутация: нет Всего: 2 |
irinazanuda, блок внутри rescue отрабатывает только в случае исключения. ты уверена, что у тебя там все ок ("даже когда исключения нет")? попробуй убрать rescue и убедиться в этом
--------------------
|
|||
|
||||
![]()
|
| Правила форума "Ruby: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Ruby: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |