|
Модераторы: ginnie |
|
Сisa |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 179 Регистрация: 18.1.2013 Репутация: нет Всего: нет |
Скрипт при неоднократном выполнении показывает разные результаты.
Почему то :(
Ну так же не должно вроде быть, и как его стабилизировать? |
|||
|
||||
tzirechnoy |
|
||||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: нет Всего: 16 |
Почему Вы так думаете?
Ну, например, сделать так, чтобы последовательность преобразований была фиксированной. Впрочем, есть масса способов, конечно. |
||||
|
|||||
Сisa |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 179 Регистрация: 18.1.2013 Репутация: нет Всего: нет |
Почему Вы так думаете?
:(((( нууу потому что, а кто его знает почему, потому что работа ведется с одной и той же строкой? по одним и тем же прописанным скрипте правилам. Так 2+2 всегда даст один и тот же ответ, какими бы процессами не был занят в это время компьютер. Перл это же не угадайка? типа а что в ответе мы получим в этот раз? Ну, например, сделать так, чтобы последовательность преобразований была фиксированной. т.е. группу разбить на более мелкие части, или даже поштучно? Я вчера пробовал примерно так же, но со списком условий, ответ был примерно такой же. Добавлено через 14 минут и 59 секунд Со списком пробовал, с хешем пробовал, с регулярками, со сплит-джоин тоже пробовал, осталось еще попробовать циклом перебирать посимвольно строку для каждого из заменных условий, тем самым выполнить работу регулярного выражения, но это же работа за перл, т.е. ручками? Нет, наверно надо поштучно все таки попробовать, но странно как то получать такие неодинаковые ответы скрипта. |
|||
|
||||
tzirechnoy |
|
||||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: нет Всего: 16 |
А выстрел в голову -- всегда разный разлёт. Жызнь несправделива.
Видать, так пробовали, что я могу сказать. И да, Ваша проблема, разумеется, не в сплит-джойн (который вполне нормальный), а в each. И в each дажэ есть ссылка -- почему Вам сделали постоянную проблему (впрочем, очень правильно сделали -- а то проблема была бы переменной и редко отлавливаемой). И Вы вполне могли бы понять это сами, если бы попытались взять бумажку и вычислить полученное, а затем сравнить выполнение (через print в цыкле) с Вашыми ожыданиями. |
||||
|
|||||
Сisa |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 179 Регистрация: 18.1.2013 Репутация: нет Всего: нет |
The each hash iterator has two problems .... Это один из старейших perl5 ошибок, которые никогда не будут исправлены. each .. Избегайте ее как чумы.
"The hash iterators should have really been stored in the op, not the hash. This is one of the oldest perl5 bugs which will never be fixed." Вот те раз, две проблемы, а я то думал Баги в перле? Ну тогда уж точно надо ручками, и в цикле, и поштучно, а лучше посимвольно, и из массы способов надо просто правильно писать сам хтмл чтобы его потом не править, а то выстрел не то что пробовать, но даже видеть и слышать не хочется. tzirechnoy спасибо! |
|||
|
||||
tzirechnoy |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: нет Всего: 16 |
Я не знаю, почему этот чувак пишэт "which almost nobody is aware of". Оба этих свойства (которые становятся проблемой только если сделать что-то, что их не учитывает) -- вполне очевидны, поскольку во-первых написаны в (небольшой) документацыи а во-вторых можно и самому понять, что реализацыя будет именно такой. |
|||
|
||||
Pfailed |
|
|||
Опытный Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 6 Всего: 39 |
Хэш не поддерживает порядок элементов. Для вашего случая больше подойдет массив, по которому можно итерироваться через два элемента
|
|||
|
||||
Сisa |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 179 Регистрация: 18.1.2013 Репутация: нет Всего: нет |
Pfailed - именно так я и сделал, списком и парами $i+=2, все работает отлично, спасибо!
|
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Регулярные выражения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |