|
|
|||||
Регистрация: Jul 2003
Адрес: Мурманск
Сообщений: 300
|
Цитата:
По поводу невнятно сформулированного вопроса ты прав. Сейчас разложу всё по-полочкам : переменная (допустим var1) может содержать в себе два вида строки : 1) с нормальными словами 2)с словами-мутантами Так вот,в строке с нормальными словами - огромное кол-во пробелов между этими самыми словами... Код предложенный Nox'ом на предидущей странице сокращал эти самые пробелы до одного между кождым вордом. НО ! тут вмешались слова-мутанты, которые не хотят чтобы сокращяли пробелы между ними(то-есть с ними вообще не нало ничего делать, нужно оставить их в покое). вот система, как мне она представляется в AS(теоретически) : Ну, вроде довольно ясно объяснил. |
|
|||||
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
Цитата:
нужны критерии, по которым определяется, что "var1 состоит из нормальных слов" или "var1 состоит из слов-мутантов". не понятно что является критерием. нужно что-то вроде такого правила: если по соседству стоят две заглавные буквы, то пробелы между ними не сокращаются. какие правила у тебя? |
|
|||||
Регистрация: Jul 2003
Адрес: Мурманск
Сообщений: 300
|
Ну чтож ты так надо мной издеваешься ?
Всё же понятно, даже моей кошке, а пример кода (теоретический) это всего лишь мои личные думки, ведь я не знаю в точности каким должен быть алгоритм... Цитата:
точно я не знаю какие они должны быть, если бы знал , то не спрашивал. Критерии я у вас, добрые люди, прошу. |
|
|||||
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
они настолько широки, что их нет.
я об этом тебе уже в 10й раз пытаюсь сказать. |
|
|||||
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
ну так спроси у своей кошки, а?
если ты не знаешь првил по которым нужно определять, что слово является мутантом или является нормальным - то я их тоже не знаю. боюсь, что Ив тоже нет. это зависит только от того что тебе нужно. если вы с кошкой это знаете - то мы-то тут при чем? если тебе нужно реализовать функцию с учетом именнно такого правила: Цитата:
String.prototype.isCapital = function() { if (this.length != 1) { return undefined; } // eng: 65 = A : 122 = z // ru: 1040 = А : 1103 = я var code = this.charCodeAt(0); if ((code>64 && code<123) || (code>1039 && code<1104)) { return (this.toUpperCase() == this.valueOf()); } return undefined; }; String.prototype.compact = function() { var idx = 0, result = this.valueOf(); while (idx<result.length) { var s = result.indexOf(" ", idx); var e = s+1; while (result.charAt(e) == " ") { e++; } if (e != s+1) { var pflag = result.charAt(s-1).isCapital(); var nflag = result.charAt(e).isCapital(); if (!(pflag*nflag)) { result = result.substring(0, s)+" "+result.substr(e); } } idx = e; } return result; }; // s = " Ф Л Э Ш А Рулит по-полной "; trace(s.compact()); Последний раз редактировалось Nox Noctis; 14.10.2004 в 20:09. |
|
|||||
Регистрация: Jul 2003
Адрес: Мурманск
Сообщений: 300
|
БЛИН-Н-Н ЁЛЫ-ПАЛЫ ВОТ ЭТО Д-А-А-А-А!!!!
НАКОНЕЦ-ТО-О-О-О!!!! УРА-УРА-УРА!!! ГИП-ГИП УРА-А-А-А!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Nox, с огромным удовольствием пригласил бы тебя выпить !пивчелло вместе , но не могу: ! 1) вряд-ли ты живёшь в Мурманске . ! 2) Наверное от всех предложений выпить пиво тебя уже !тошнит. ! 3)Я честно говоря, его вообще не пью... ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
|
|||||
Регистрация: Jul 2003
Адрес: Мурманск
Сообщений: 300
|
всё бы хорошо.
но твоя система настолько сложна что я вней вряд ли сам разберусь. вообщем всё отлично работает, но если строка/значение переменной правильное (например s="флэша рулит") то код выполняет бесконечный цикл и виснет. А в остальном всё-лучше не бывает ! Это последняя просьба, больше мне вряд ли что-нибудь понадобится... |
|
|||||
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
наверное можно изящнее придумать, но мне лень, если честно...
String.prototype.isCapital = function() { if (this.length != 1) { return undefined; } // eng: 65 = A : 122 = z // ru: 1040 = А : 1103 = я var code = this.charCodeAt(0); if ((code>64 && code<123) || (code>1039 && code<1104)) { return (this.toUpperCase() == this.valueOf()); } return undefined; }; String.prototype.compact = function() { var idx = 0, result = this.valueOf(); while (idx<result.length) { var s = result.indexOf(" ", idx); if (s>=0) { var e = s+1; while (result.charAt(e) == " ") { e++; } if (e<result.length && e != s+1) { var pflag = result.charAt(s-1).isCapital(); var nflag = result.charAt(e).isCapital(); if (!(pflag*nflag)) { result = result.substring(0, s)+" "+result.substr(e); } } idx = e; } else { idx = result.length; } } return result; }; |
|
|||||
Регистрация: Jul 2003
Адрес: Мурманск
Сообщений: 300
|
Ещё раз спасибо !
Это как раз то что я хотел ! Иногда смотришь на таких "маньяков AS" снизу вверх и, с грустью понимаешь до чего ничтожны твои знания , Но, не вешать нос ! Всё ещё впереди (надеюсь ). Один личный вопрос к тебе, Nox : сколько времени ты занимаешся этим делом ? (каким??, ну конечно кодингом в AS .... , а вы что подумали ? ) Блин, так хочется самому разобраться в таких системах, чтобы потом просто не спрашивать на форумах, а писать самому... Думаю, как только появится свободное время - сразу этим и займусь. (это не просьба объяснить мне работу системы, это мои рассуждения вслух ) |
|
|||||
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
Цитата:
Последний раз редактировалось Nox Noctis; 15.10.2004 в 12:23. |
Часовой пояс GMT +4, время: 02:37. |
|
« Предыдущая тема | Следующая тема » |
|
|