XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Барахолка
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
YasonDelAlt

offline
Опыт: 862
Активность:
JASS: Russian Strings Library
Представляю вашему вниманию новую версию библиотеки. Кое-что подправил, кое-что добавил, кое-что убрал. Пользуйтесь! Выкладываю только код, демокарта, думаю не нужна. Описание всех функций найдете в комментариях к коду.
StringsLibrary.w3x - демокарта со старой версией библиотеки.
RusStrLib1.2a.rar - свежая версия библиотеки.
Прикрепленные файлы
Тип файла: w3x StringsLibrary.w3x (31.6 Кбайт, 237 просмотров )
Тип файла: rar RusStrLib1.2a.rar (3.1 Кбайт, 193 просмотров )

Отредактировано YasonDelAlt, 11.08.2007 в 15:14.
Старый 21.02.2007, 05:54
dk

offline
Опыт: 60,293
Активность:
Однозначно зачет. Фбазу! Вобще почему-то раньше некогда никто набора функций для работы с текстом не делал, хотя это вполне очевидная вещь. Спс за способ отличить русские символы, от англ!
Всем фтыкать!
Старый 21.02.2007, 13:24
Krol

offline
Опыт: 17,884
Активность:
Несофсем понял что в этой карте... джасс на русском языке? О.о
Старый 21.02.2007, 13:51
dk

offline
Опыт: 60,293
Активность:
Поддержка русского текста во всех функциях со строками... Проверка на русский символ проходит однообразно, может ее в отдельную функцию выделить?
Старый 21.02.2007, 13:58
adic3x

offline
Опыт: 108,439
Активность:
Krol, нет, функции для работы со строками на керилице.
Старый 21.02.2007, 13:59
YasonDelAlt

offline
Опыт: 862
Активность:
Dead_knight функции и так теряют производительность из-за проверки символов, если эту проверку выделить в отдельную функцию, производительность упадет еще сильнее!
Старый 21.02.2007, 14:06
DioD

offline
Опыт: 45,134
Активность:
надо выделить проверку символов в отдельную функцию для русских и отдельную для английских символов, тогда производительность "повыситься"
Старый 21.02.2007, 14:08
Toadcop

offline
Опыт: 54,313
Активность:
.... перформенс киллер.... носенс
Старый 21.02.2007, 14:26
DioD

offline
Опыт: 45,134
Активность:
единственный способ повысить производительность это РБ на стринг чанках, иначе никак не получиться оптимизировать
Старый 21.02.2007, 14:34
Кет

offline
Опыт: 111,109
Активность:
производительность сильно убивается?
Старый 21.02.2007, 19:15
YasonDelAlt

offline
Опыт: 862
Активность:
Натсчет оптимизации, давно хотел сказать да забывал, там и так все оптимизированно, из циклов вынесено максимум кода, местами переделан алгоритм, а вот если выносить проверку русского символа в отдельную функции, производительность грохнется в несколько раз, ведь на организацию вызова функции требуется дополнительное процессорное время! Помните об этом.
Старый 26.02.2007, 08:30
N.Sy.Prophet
Йа Байан
offline
Опыт: 13,122
Активность:
YasonDelAlt, зачет! Имхо, вещь полезная.
Старый 26.02.2007, 09:17
Toadcop

offline
Опыт: 54,313
Активность:
Цитата:
производительность сильно убивается?
со строками медлено опирировать...
Старый 26.02.2007, 15:31
YasonDelAlt

offline
Опыт: 862
Активность:
Появилось обновление! Смотрите первый пост.
Старый 07.08.2007, 16:25
Warden
:::...
offline
Опыт: 26,106
Активность:
Цитата:
Вобще почему-то раньше некогда никто набора функций для работы с текстом не делал

Я делал =), но не выкладывал...

YasonDelAlt - крутая система =) - вот тебе задача (если ты не против) :

Сделай две функции конверции : id2string и string2id
(Такие функции уже есть (их автор Van Damm) - я использую их почти во всех своих системах, но мне интересно, как бы это сделал ты) - для примера смотри наработку equipment system.
Старый 08.08.2007, 14:48
YasonDelAlt

offline
Опыт: 862
Активность:
Warden, сделать функции для перевода числа в 255-ную систему счисления и обратно? Запросто! Только завтра - сегодня уже не смогу, спать хочу - помираю =).
Старый 10.08.2007, 21:28
YasonDelAlt

offline
Опыт: 862
Активность:
Warden, сделал. Ищи функции str_to_id() и str_from_id().
Старый 11.08.2007, 15:16
Warden
:::...
offline
Опыт: 26,106
Активность:
YasonDelAlt - чет не пашет ((( - щас еще попробую =)
Старый 15.08.2007, 13:29
YasonDelAlt

offline
Опыт: 862
Активность:
Warden, я на твоей карте проверял (equipment system), только функции переименовывал под те, которые у тебя используются. Вроде при работе никаких отклонений не наблюдалось.
Старый 15.08.2007, 14:49
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
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 22:48.