Kirgudu 1 171 Опубликовано 4 Декабря 2012 local function is_time_between(t, t1, t2) -- returns true if t1 <= t <= t2 assuming 24 hour clock return (t1 < t2 and (t >= t1 and t <= t2)) or (t1 > t2 and (t >= t1 or t <= t2)) end Кстати, во втором случае, когда t1 > t2, данная функция вернёт true, если t лежит за пределами диапазона, а не внутри него. Инструмент Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 171 Опубликовано 21 Декабря 2012 Уважаемые знатоки! Возможно, вопрос выеденного яйца не стоит, но всё же я его задам. Какой наилучший способ получения в Lua случайного знака числа? Навскидку в голову приходит это: local num = 10 num = num * math.pow(-1,math.random(1,2)) и это: local num = 10 if math.random(1,2) == 1 then num = -num end Понятно, что при однократном выполнении разница во времени несущественна. Однако для длинных циклов, может быть, какой-то метод является предпочтительным. Какой? Инструмент Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 171 Опубликовано 22 Декабря 2012 Artos, malandrinus, в своём примере я предполагал, что переменная num объявлена (и значение ей присвоено) за пределами цикла, а временные затраты интересуют именно на смену знака, а не на присвоение значения со знаком. Просто зря оставил этот момент за скобками. Впрочем, теперь всё понятно. Честно говоря, я думал, что вызов math.random с параметрами быстрее, поэтому и выбирал между степенью минус единицы и сравнением с числом. Теперь степень отпадает, да и число для сравнения другое. Спасибо, буду знать. Инструмент Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 171 Опубликовано 25 Января 2016 @vampirnik77, выполнится. 1 Инструмент Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 171 Опубликовано 8 Июля 2016 @Kober(BRUC), потому что сейчас это не массив, а не пойми что. Каждый буквенный элемент следует заключить в кавычки. 1 Инструмент Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 171 Опубликовано 22 Июля 2016 При вызове random(2) не может - только целое число. @KitkaT.Net, рекомендую в вышеупомянутое ветвление добавить ещё одну ветку вида «elseif FILTERS_PLACE==2 then ...» и перенести туда то, что сейчас находится в ветке «else». А в else для проверки сделать вместо этого вывод в лог. Если выполнение зайдёт именно туда - скорее всего, значение переменной равно начальному нулю, и присвоение случайного числа просто напросто не запускается из-за специфики скрипта. Инструмент Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 171 Опубликовано 3 Августа 2016 (изменено) Сомнительное утверждение. Минимизация javascript кода имеет своей целью не повышение скорости исполнения, а повышение скорости загрузки скрипта с сервера на клиент за счёт уменьшения его размера. В случае обфускации - ещё и усложнение реверс-инжиниринга. И то и другое имеет слабое отношение к ускорению выполнения скрипта. Если требуется ускорить выполнение, лучше потратить свои усилия на оптимизацию кода, а не его минимизацию. Изменено 3 Августа 2016 пользователем Kirgudu 1 1 1 Инструмент Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 171 Опубликовано 24 Января 2017 @Dennis_Chikin, local s = "test" for ss in s:gmatch("s") do print(ss) end ожидаемо возвращает "s". В чём подвох? Или не это имелось в виду? Инструмент Поделиться этим сообщением Ссылка на сообщение
Kirgudu 1 171 Опубликовано 20 Мая string.sub(input, 42, 55) Больше о работе со строками: https://lua-users.org/wiki/StringLibraryTutorial Инструмент Поделиться этим сообщением Ссылка на сообщение