ShadoWalkeR
У меня идея такая что если файла нет. то просто продолжить выполнение - я чуть выше накатываю шаблонную таблицу, в а файле с имененм ключа должны быть уже индивидуальные особенности
Snusmumriken
https://studio.zerobrane.com/doc-lua-debugging
Snusmumriken
Roman
можно открыть файл на чтение, если не нил, то прочитать и loadstring сделать
Roman
@Snusmumriken в js такая фигня есть, что код с try catch не jit компайлится и советуют такое на более мелкие функции разносить, как в lua с этим не знаешь?
Snusmumriken
У luajit компайлится всё что достаточно разогрето.
Только тут на трассу не небирается, несколько десятков тысяч раз надо вызвать код с pcall/xpcall чтобы скомпилилось.
Roman
нашел табличку, все хорошо с этим
ShadoWalkeR
Спасибо за совет - поиграюсь с pcall/xpcall
Roman
http://wiki.luajit.org/NYI
вот тут таблица есть, dofile вообще never compile
Snusmumriken
ShadoWalkeR
Я с ними не работал - чтобы разобраться лучше самому написать)
Snusmumriken
Про трассировку можно глянуть тут, 19 минута: https://www.youtube.com/watch?v=9oVZObf2udU
Anonymous
эта ссылка вроде появлялась уже в этом чате
Anonymous
это твой знакомый?
Snusmumriken
Нет, это просто хороший доклад. Грех его не показать к месту.
Anonymous
да, я просто поинтересовался
Snusmumriken
Я же не ГРЕШНИК, а? Или ты думаешь ПО ДРУГОМУ? ))
Anonymous
грешник в таком контексе звучит как терпила или чепушила или любое другое ругательство с зоны
Anonymous
тем временем в браузере микрософт Эдж
Anonymous
Sergey
может кто подсказать пытаюсь распарсить XML не могу добавться до блока СЛОВА
Sergey
https://play.golang.org/p/gxWW9wRah0l
Anonymous
move_to_next_attribute
Anonymous
это итерирует на следующий атрибут
Anonymous
а тебе нужен узел (Node)
Anonymous
я так думаю
Particle Booster
Объясните, плз, почему разные последовательности получаются при выводе таблицы у этих вариантов?
тут, setAssay через table.insert добавляет элементы и у него, есдинственного, на выводе Assay правильная последовательность
Assay = lib_probability.setAssay({[2] = 5, [3] = 10, [4] = 1})
Assay = {["2"] = 5, ["3"] = 10, ["4"] = 1}
Assay = {[2] = 5, [3] = 10, [4] = 1}
Sergey
а тебе нужен узел (Node)
local r = assert(xmlreader.from_string(xml))
while (r:read()) do
local leadingws = (' '):rep(r:depth())
if (r:node_type() == "element") then
io.write(("%s%s:"):format(leadingws, r:name()))
while (r:move_to_next_node()) do
io.write((' %s=%q'):format(r:name(), r:value()))
end
io.write('\n')
end
end
Sergey
так ошибка
Sergey
lua: test_yandex.lua:69: attempt to call method 'move_to_next_node' (a nil value)
stack traceback:
test_yandex.lua:69: in main chunk
[C]:
Anonymous
я не знаю есть ли такая функция
Anonymous
надо смотреть документацию xmlreader
Sergey
а я понял спасибо посмотрю
Roman
Объясните, плз, почему разные последовательности получаются при выводе таблицы у этих вариантов?
тут, setAssay через table.insert добавляет элементы и у него, есдинственного, на выводе Assay правильная последовательность
Assay = lib_probability.setAssay({[2] = 5, [3] = 10, [4] = 1})
Assay = {["2"] = 5, ["3"] = 10, ["4"] = 1}
Assay = {[2] = 5, [3] = 10, [4] = 1}
table.insert делает массив, а {[2] = 5, [3] = 10, [4] = 1} это типа хеш
Roman
{1, 2, 3} так массив
Roman
https://learnxinyminutes.com/docs/lua/
Particle Booster
{1, 2, 3} так массив
а нет способа создать массив, без инсерта, с указанием имен ключей?
Particle Booster
угу, спасибо, только у меня не доступен сайт =(
Roman
роскомнадзор?
Particle Booster
нет
Particle Booster
ничё не пишет, пишет что каннт риач
Anonymous
Roman
кароч есть такой умный человек Роберту Иерусалимски
он подумал: вот в других языках есть массивы и хеши
а чтобы сделать самый няшный язык, нужно выкинуть все лишнее
по этому таблица: если есть первый элемент - значит массив и может быть хеш, если нет - хеш
и дырки среди эелементов это признак что массив закончился
Particle Booster
ясно, благодарю!
Snusmumriken
Держите массивы без дырок, используйте table.insert/table.remove.
Particle Booster
мне как раз дырявый ннада
Snusmumriken
Зачем?
Snusmumriken
Если тебе действительно нужны дырявые массивы - ты скорее всего делаешь что-то не то.
Particle Booster
для определения loaded dice
Particle Booster
то
Snusmumriken
Конкретно.
Particle Booster
для определения loaded dice
Snusmumriken
Конкретно.
Particle Booster
эмитировать кость со смещенным центром
Snusmumriken
Код приведи, обрамлённый тремя "`" с обеих сторон.
Snusmumriken
В каком смысле, и зачем тут таблицы, если "кость со смещённым центром" - это, как правило, функция?
Particle Booster
мне нужна возможность задавать вероятности для выпадения конкретных значений
Snusmumriken
Возьми какую-нибудь косинусоиду, наложи её на прямую, кидай рандом от 0 до 1 со смещением, прогоняй через функцию и умножай на 6 с округлением.
Particle Booster
{[2] = 5, [3] = 10, [4] = 1}
Roman
тогда можно остальным 0 поставить
Sergey
я не знаю есть ли такая функция
local r = assert(xmlreader.from_string(xml))
while (r:read()) do
local leadingws = (' '):rep(r:depth())
if (r:node_type() == "element") then
io.write(("%s%s:"):format(leadingws, r:name(),r:next_node()))
while (r:move_to_next_attribute()) do
io.write((' %s=%q'):format(r:name(), r:value()))
end
io.write('\n')
end
end http://asbradbury.org/projects/lua-xmlreader/doc/ в либе не могу понять какая функция отвечает за чтение внутри блока ошибка выходит
Particle Booster
Anonymous
reader:read()
Moves the position of reader to the next node in the stream. Returns true if the node was read successfully, false if there are no more nodes to be read.
Anonymous
@sergey_voip
Particle Booster
игру пытаюсь сделать =/
Snusmumriken
Вот тебе метода смещения. Можешь заюзать кривые безье для функции.
Snusmumriken
ИЛИ есть ещё один способ который я напишу минут через десять-двадцать.
Snusmumriken
Настольную
Anonymous
О, снус, а чо за тема рисовать функции через кривые безье
Anonymous
это типа удобно?
Dadaskis
TextureManager = {
textures = {},
loadTexture = function(fileName, textureName, isOpaque)
print("loadTexture")
print(fileName .. " | " .. textureName .. " | " .. isOpaque)
local textureID = Engine.loadTexture(fileName, isOpaque)
textures[textureName] = textureID
print("loaded")
end,
getTexture = function(textureName)
return textures[textureName]
end
}
Почему textures[textureName] - ошибка? textureName = "Stone"
Snusmumriken
Particle Booster
Anonymous
кто он?\
Anonymous
ты же сам сказал '''Можешь заюзать кривые безье для функции.'''