|
Mar. 25th, 2008|02:14 pm |
> я, честно говоря, нифига не понял, что ты там со строкой делаешь, потому тупо переписал. %-) А я понял! Я всё переписал, даже пытался ставить разнообразные closure, анонимные функции, addeventlistener и т.п. (всё, о чём прочитал вчера), делать всё одной функцией (с минимумом переменных), но в Опере всё равно не работало.
Преобразование алгоритмически можно делать быстрее, конечно, но смысла нет (и не факт, что в Яваскрипте действительно будет быстрее, да и быстродействие с учётом размеров комментариев неважно) — сэкономить на попытке преобразовать пару символов, когда первый заведомо единственный. Короче говоря: язык интерпретируемый, без изысков библиотечные регулярные выражения должны работать быстрее, чем циклы и вообще последовательности команд (в особенности функция pick). Всё-таки регулярные выражения такого уровня — конечный автомат, который для поиска всех вхождений проходит по строке ровно один раз.
Вот ketmar указал, что дело скорее всего в байтиках со значениями 128-255 — кодировка не UTF-8. Глюк Оперы, на мой взгляд. Но после перекодировки в UTF-8 (сначала я просто русский текст переписал: э,Э, утошга каледин, кря, — через \u
, потом табуляцию, потом автоматически обработал, чтобы CRLF) странное сообщение об ошибке исчезло, а работать всё равно не стало. Ну да ладно, посмотрю, как сделал ketmar, в Опере у него определённо должно было заработать, пойму, чего не хватало.
Изучу на досуге Яваскрипт, штука в таком виде (пользовательском) полезная
|
|