|
|
  |
Пожелания, Предложения по развитию сюда |
|
|
EL-GReeN |
16.6.2012, 16:47
|

    
Journeyman
Сообщений: 474
Регистрация: 18.7.2011 Группа: Пользователи Наличность: 0 Из: Россия
Пользователь №: 13.815
Возраст: 32

|
Цитата(DarkMaster @ 16.6.2012, 16:18)  Это откуда чего и как? Откуда взялась такая дикая цифра по времени? Скорее всего банально Linedelay был здоровый. код
Код for #i 1 186 1 set %arr [ #i ] random ( 1000000 ) end_for set %arr [ 187 ] 123456789
set #i 1 while_not %arr [ #i ] = 123456789 set #i #i + 1 end_while msg #i timer stop_script
62 мс вместе с объявлением всего массива. У меня(set linedelay 0) 2.28: ~625 мс ~109 мс с выключенным отображением выполнения 2.29: ~1050 мс ~78 мс с выключенным отображением выполнения интересно что на обоих версиях, с "set linedelay 1" результат ~1900 мс и без разницы включено или выключено отображение выполнения А 45 сек это может быть еще и длинные строки и много функций типа posex() insert()
--------------------
|
|
|
|
WKnight |
16.6.2012, 17:21
|
       
Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006 Группа: Пользователи Наличность: 0
Пользователь №: 4.688

|
та суть не в том откуда, зачем, почему и какова его скорость, вопрос в синтаксисе новой команды, ибо она уже готова (IMG: style_emoticons/default/smile.gif) и за 125 мс находит 249999 элемент в первом столбце (IMG: style_emoticons/default/smile.gif) кстати там в квотинге есть ссылка на оригинальный пост (IMG: style_emoticons/default/smile.gif) щас фильм запустил возвращение мушкетеров 2009 года, на седьмой минуте уже семь раз эту шнягу выключить хочется... Сообщение отредактировал WKnight - 16.6.2012, 17:22
|
|
|
|
Zeleax |
16.6.2012, 17:40
|
        
ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010 Группа: Пользователи Наличность: 0 Из: Киев
Пользователь №: 13.093

|
set #a IndexOf(%массив [начальная_позиция [конечная позиция]] [abs] [reg]) текст/число для поиска
если указано abs, то абсолютное совпадение, если не указано, то ищет указанную подстроку в массиве reg - если указан, то при сравнении учитывается регистр символов
Благодаря тому, что искомая строка указана за скобками - она может содержать пробелы и кавычки (и вообще - что угодно ))
Если конечная позиция не указана, то ищет до конца массива Если начальная позиция не указана, то ищет с начала массива Если элемент не найден, то результат -1
Сообщение отредактировал Zeleax - 16.6.2012, 17:49
--------------------
|
|
|
|
Zeleax |
17.6.2012, 7:34
|
        
ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010 Группа: Пользователи Наличность: 0 Из: Киев
Пользователь №: 13.093

|
тогда поддерживаю последнее предложение DarkMaster с добавкой: если в качестве приемника указан не массив а целая переменная, то возвращаем только номер одного элемента. Причем [limit] указывает- какое по порядку вхождение нужно искать. Если limit > 0, то ищем в направлении - "с начала", если limit < 0, то ищем в направлении с конца. + еще дополнение: если для начальной/конечной позиции указан 0, то в качестве позиции принимается первый/последний элемент массива Например, set #a indexOf ( %arr abs reg 0 0 -1 (Test) ) // ищет номер последнего элемента массива %arr , имеюшего значение в точности равное Test (с учетом регистра) set #b indexOf ( %arr abs (12) ) // ищет номер первого элемента массива %arr , имеюшего значение в точности равное 12 set #c indexOf ( %arr(admin) ) // ищет номер первого элемента массива %arr , содержащего подстроку 'admin' Хотя, честно говоря, лучше бы по умолчанию искалось точное совпадение с учетом регистра, а в виде дополнительных опций указывались: "неточное совпадение" и "без учета регистра" (IMG: style_emoticons/default/smile.gif) Ток надо слова для опций придумать понагляднее ) Сообщение отредактировал Zeleax - 17.6.2012, 7:39
--------------------
|
|
|
|
DarkMaster |
17.6.2012, 9:54
|
          
Модератор UOPilot
Сообщений: 9.746
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 29723
Пользователь №: 11.279

|
Цитата + еще дополнение: если для начальной/конечной позиции указан 0, то в качестве позиции принимается первый/последний элемент массива Как-то уже повелось, что в пилоте опускаемые элементы обозначаются -1, а не 0. Цитата Хотя, честно говоря, лучше бы по умолчанию искалось точное совпадение с учетом регистра, а в виде дополнительных опций указывались: "неточное совпадение" и "без учета регистра" Не шибко искушенным людям, это скорее проблемой будет. А кто шарит и так допишет не помрет имхо.
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
|
  |
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|