![]()
YasonDelAlt
![]() ![]() offline
Опыт:
862Активность: |
JASS: Russian Strings Library
Представляю вашему вниманию новую версию библиотеки. Кое-что подправил, кое-что добавил, кое-что убрал. Пользуйтесь! Выкладываю только код, демокарта, думаю не нужна. Описание всех функций найдете в комментариях к коду.
StringsLibrary.w3x - демокарта со старой версией библиотеки. RusStrLib1.2a.rar - свежая версия библиотеки. Отредактировано YasonDelAlt, 11.08.2007 в 15:14. |
![]() |
#1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
dk
![]() offline
Опыт:
60,293Активность: |
Однозначно зачет. Фбазу! Вобще почему-то раньше некогда никто набора функций для работы с текстом не делал, хотя это вполне очевидная вещь. Спс за способ отличить русские символы, от англ! Всем фтыкать! |
![]() |
#2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Krol
![]() ![]() offline
Опыт:
17,884Активность: |
Несофсем понял что в этой карте... джасс на русском языке? О.о |
![]() |
#3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
dk
![]() offline
Опыт:
60,293Активность: |
Поддержка русского текста во всех функциях со строками... Проверка на русский символ проходит однообразно, может ее в отдельную функцию выделить? |
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
adic3x
![]() offline
Опыт:
108,439Активность: |
Krol, нет, функции для работы со строками на керилице.
|
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
YasonDelAlt
![]() ![]() offline
Опыт:
862Активность: |
Dead_knight функции и так теряют производительность из-за проверки символов, если эту проверку выделить в отдельную функцию, производительность упадет еще сильнее!
|
![]() |
#6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
DioD
![]() ![]() offline
Опыт:
45,134Активность: |
надо выделить проверку символов в отдельную функцию для русских и отдельную для английских символов, тогда производительность "повыситься" |
![]() |
#7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Toadcop
![]() ![]() offline
Опыт:
54,313Активность: |
.... перформенс киллер.... носенс |
![]() |
#8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
DioD
![]() ![]() offline
Опыт:
45,134Активность: |
единственный способ повысить производительность это РБ на стринг чанках, иначе никак не получиться оптимизировать |
![]() |
#9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Кет
![]() offline
Опыт:
111,209Активность: |
производительность сильно убивается? |
![]() |
#10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
YasonDelAlt
![]() ![]() offline
Опыт:
862Активность: |
Натсчет оптимизации, давно хотел сказать да забывал, там и так все оптимизированно, из циклов вынесено максимум кода, местами переделан алгоритм, а вот если выносить проверку русского символа в отдельную функции, производительность грохнется в несколько раз, ведь на организацию вызова функции требуется дополнительное процессорное время! Помните об этом. |
![]() |
#11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
N.Sy.Prophet
Йа Байан
![]() ![]() offline
Опыт:
13,122Активность: |
YasonDelAlt, зачет! Имхо, вещь полезная.
|
![]() |
#12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Toadcop
![]() ![]() offline
Опыт:
54,313Активность: |
Цитата:
|
|
![]() |
#13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
YasonDelAlt
![]() ![]() offline
Опыт:
862Активность: |
Появилось обновление! Смотрите первый пост. |
![]() |
#14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Warden
:::...
![]() ![]() offline
Опыт:
26,106Активность: |
Цитата:
Я делал =), но не выкладывал... YasonDelAlt - крутая система =) - вот тебе задача (если ты не против) : Сделай две функции конверции : id2string и string2id (Такие функции уже есть (их автор Van Damm) - я использую их почти во всех своих системах, но мне интересно, как бы это сделал ты) - для примера смотри наработку equipment system. |
|
![]() |
#15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
YasonDelAlt
![]() ![]() offline
Опыт:
862Активность: |
Warden, сделать функции для перевода числа в 255-ную систему счисления и обратно? Запросто! Только завтра - сегодня уже не смогу, спать хочу - помираю =).
|
![]() |
#16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
YasonDelAlt
![]() ![]() offline
Опыт:
862Активность: |
Warden, сделал. Ищи функции str_to_id() и str_from_id().
|
![]() |
#17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Warden
:::...
![]() ![]() offline
Опыт:
26,106Активность: |
YasonDelAlt - чет не пашет ((( - щас еще попробую =)
|
![]() |
#18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
YasonDelAlt
![]() ![]() offline
Опыт:
862Активность: |
Warden, я на твоей карте проверял (equipment system), только функции переименовывал под те, которые у тебя используются. Вроде при работе никаких отклонений не наблюдалось.
|
![]() |
#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 |
![]() |
#20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|