YasonDelAlt
offline
Опыт:
862Активность: |
JASS: Russian Strings Library
Представляю вашему вниманию новую версию библиотеки. Кое-что подправил, кое-что добавил, кое-что убрал. Пользуйтесь! Выкладываю только код, демокарта, думаю не нужна. Описание всех функций найдете в комментариях к коду.
StringsLibrary.w3x - демокарта со старой версией библиотеки. RusStrLib1.2a.rar - свежая версия библиотеки. Отредактировано YasonDelAlt, 11.08.2007 в 15:14. |
21.02.2007, 05:54 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
dk
offline
Опыт:
60,293Активность: |
Однозначно зачет. Фбазу! Вобще почему-то раньше некогда никто набора функций для работы с текстом не делал, хотя это вполне очевидная вещь. Спс за способ отличить русские символы, от англ! Всем фтыкать! |
21.02.2007, 13:24 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Krol
offline
Опыт:
18,409Активность: |
Несофсем понял что в этой карте... джасс на русском языке? О.о |
21.02.2007, 13:51 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
dk
offline
Опыт:
60,293Активность: |
Поддержка русского текста во всех функциях со строками... Проверка на русский символ проходит однообразно, может ее в отдельную функцию выделить? |
21.02.2007, 13:58 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
Krol, нет, функции для работы со строками на керилице.
|
21.02.2007, 13:59 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
YasonDelAlt
offline
Опыт:
862Активность: |
Dead_knight функции и так теряют производительность из-за проверки символов, если эту проверку выделить в отдельную функцию, производительность упадет еще сильнее!
|
21.02.2007, 14:06 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
надо выделить проверку символов в отдельную функцию для русских и отдельную для английских символов, тогда производительность "повыситься" |
21.02.2007, 14:08 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Toadcop
offline
Опыт:
54,313Активность: |
.... перформенс киллер.... носенс |
21.02.2007, 14:26 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
единственный способ повысить производительность это РБ на стринг чанках, иначе никак не получиться оптимизировать |
21.02.2007, 14:34 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Кет
offline
Опыт:
111,234Активность: |
производительность сильно убивается? |
21.02.2007, 19:15 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
YasonDelAlt
offline
Опыт:
862Активность: |
Натсчет оптимизации, давно хотел сказать да забывал, там и так все оптимизированно, из циклов вынесено максимум кода, местами переделан алгоритм, а вот если выносить проверку русского символа в отдельную функции, производительность грохнется в несколько раз, ведь на организацию вызова функции требуется дополнительное процессорное время! Помните об этом. |
26.02.2007, 08:30 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
N.Sy.Prophet
Йа Байан
offline
Опыт:
13,122Активность: |
YasonDelAlt, зачет! Имхо, вещь полезная.
|
26.02.2007, 09:17 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Toadcop
offline
Опыт:
54,313Активность: |
Цитата:
|
|
26.02.2007, 15:31 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
YasonDelAlt
offline
Опыт:
862Активность: |
Появилось обновление! Смотрите первый пост. |
07.08.2007, 16:25 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Warden
:::...
offline
Опыт:
26,106Активность: |
Цитата:
Я делал =), но не выкладывал... YasonDelAlt - крутая система =) - вот тебе задача (если ты не против) : Сделай две функции конверции : id2string и string2id (Такие функции уже есть (их автор Van Damm) - я использую их почти во всех своих системах, но мне интересно, как бы это сделал ты) - для примера смотри наработку equipment system. |
|
08.08.2007, 14:48 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
YasonDelAlt
offline
Опыт:
862Активность: |
Warden, сделать функции для перевода числа в 255-ную систему счисления и обратно? Запросто! Только завтра - сегодня уже не смогу, спать хочу - помираю =).
|
10.08.2007, 21:28 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
YasonDelAlt
offline
Опыт:
862Активность: |
Warden, сделал. Ищи функции str_to_id() и str_from_id().
|
11.08.2007, 15:16 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Warden
:::...
offline
Опыт:
26,106Активность: |
YasonDelAlt - чет не пашет ((( - щас еще попробую =)
|
15.08.2007, 13:29 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
YasonDelAlt
offline
Опыт:
862Активность: |
Warden, я на твоей карте проверял (equipment system), только функции переименовывал под те, которые у тебя используются. Вроде при работе никаких отклонений не наблюдалось.
|
15.08.2007, 14:49 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Warden
:::...
offline
Опыт:
26,106Активность: |
YasonDelAlt - все работает =) - респект!
» А вот моя функции id2string : function id2s takes integer id returns string local integer i=1 local string array s local integer array idx set idx[1]=id/256/256/256 set idx[2]=ModuloInteger(id/256/256,256) set idx[3]=ModuloInteger(id/256,256) set idx[4]=ModuloInteger(id,256) loop exitwhen i>4 if idx[i]>=65 and idx[i]<=90 then set s[i]=SubString("ABCDEFGHIJKLMNOPQRSTUVWXYZ",idx[i]-65,idx[i]-64) elseif idx[i]>=97 and idx[i]<=122 then set s[i]=SubString("abcdefghijklmnopqrstuvwxyz",idx[i]-97,idx[i]-96) elseif idx[i]>=48 and idx[i]<=57 then set s[i]=SubString("0123456789",idx[i]-48,idx[i]-47) endif set i=i+1 endloop return s[1]+s[2]+s[3]+s[4] endfunction |
22.08.2007, 14:18 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|