Size: a a a

2021 November 11

TL

Tony Lutsenko in pro.lua
Возврат foo() «До»:
{ {2, 0, 0.1542},
 {4, 0, -.2451},
 {4, 4, 0.053},
 {4,-4, 0.053} }


Возврат foo() «после»:
{ {2, 0, -1.#QNAN},
 {4, 0, -1.#QNAN},
 {4, 4, -1.#QNAN},
 {4,-4, -1.#QNAN} }
источник

TL

Tony Lutsenko in pro.lua
Не могу понять, что такого может сделать bar(), чтобы foo() так изменила свой возврат
источник

TL

Tony Lutsenko in pro.lua
И что вообще искать в bar()
источник

OB

Oleg Bosh in pro.lua
если обе функции используют какую-то одну общую глобальную переменную к примеру
источник

OB

Oleg Bosh in pro.lua
воспользуйся отладчиком
источник

TL

Tony Lutsenko in pro.lua
Глобальные переменные я просматривал через for, делал hard-копию _G до вызова и сравнивал с _G после вызова, ничего не меняется
источник

AD

Aleksandr Deriabin in pro.lua
Судя из того, что представлено, целые числа остаются в норме а вещественные "ломаются", я, бы, обратил внимание на обработку этого вида данных.
источник

АК

Александр Караев... in pro.lua
Можно ещё посмотреть на то, как выглядят NaN'ы "после" в побитовом представлении
источник

TL

Tony Lutsenko in pro.lua
А как это можно сделать?
источник

АК

Александр Караев... in pro.lua
В чистом луа - не знаю. В си - очень просто
источник

Q

Qiwi Verify Support ... in pro.lua
добрый день. чтобы использовать ev необходимо его собрать в cmake?
источник

S

Snusmumriken in pro.lua
Ну там есть инструкция по сборке через cmake
источник

Q

Qiwi Verify Support ... in pro.lua
я просто не очень шарю за эти низкоуровневые штуки, ну и вообще луа в целом. На выходе получится скомпиленный в lua файл?
источник

S

Snusmumriken in pro.lua
На выходе получится сишная dll/so-библиотека которую ты подключишь через require. Ты на линуксе?
источник

S

Snusmumriken in pro.lua
Поставь luarocks и через него установи ev. Оно более-менее автоматизировано.
источник

VN

Vladyslav Narkoz in pro.lua
Переслано от Vladyslav Narkoz
Есть кастомный пикер даты и времени.
Я выбираю дату, время и исходя из этих данных получаю unix stamp. Сам  unix stamp я формирую через os.time:

local stamp = time({
year  = picker.year,
month = picker.month,
day   = picker.day,
hour  = picker.hour,
min   = picker.min,
sec   = 0,
})

Всё работал корректно, пока я не столкнулся со сменой часовых поясов.

Проблема состоит в следующем:
31 октября идет перевод времени на 1 час назад. Системные часы тикают и в 3:59 перебрасываются на 3:00. Если в это время я использую пикер(после 3:00) то не могу получить корректное время.

К примеру сейчас 3:30, я включаю пикер, выбираю 3:30 и мне выдаёт некорректный unix stamp. А некорректный он потому что в нём присутствует 1 лишний час(3600 секунд). Я так понимаю это происходит из-за того, что после 3:00 система считает время уже с новым часовым поясом и добавляет к этому времени час, хотя у меня на устройстве перевод времени ещё не произошёл. Перевод произойдёт в 3:59:60. После того как произошёл перевод всё работает.
источник

VN

Vladyslav Narkoz in pro.lua
Пробовал убирать лишний час(вычитал разницу часовых полюсов), и время получалось корректным. Вот только отображение потом не совсем логичное. Я добавил время в 3:30 к примеру, а сейчас 3:05(5 минут назад был переход) и как будто время из будущего добавилось. Как же можно более-менее красиво обойти эту ситуацию🤔

Пробовал отслеживать переход и задавать принудительно(через разницу полюсов) но тогда все unix stamp прыгают в зависимости от часового пояса, что выглядит не очень. Например, было 3:30 а стало 2:30, вроде логично, но вчерашний unix stamp 30 октября тоже перепрыгивает на час назад, что не очень понятно для пользователя.

Буду благодарен за любые мысли по этому поводу🙏
источник

VM

Vadim Misbakh-Solovi... in pro.lua
так со сменой часовых поясов, всё же, или с DST?
источник

VN

Vladyslav Narkoz in pro.lua
DST если быть точнее, извиняюсь.
источник

VM

Vadim Misbakh-Solovi... in pro.lua
вообще, если ты через os.time преобразуешь не текущее время, а выбранное в пикере, то как-то странно
источник