Lucky
блин, а что сложного сделать local log = math.log
Particle Booster
я не понимаю, как работать с энвиронмнтами =(
Lucky
да ладно, я уже книжкой кинул.
Particle Booster
=) Я хочу передавать в калькулятор задачу с динамическими переменными и их количеством (что бы разные задачи решал) и получать ответ.
к примеру:
a + 1 =
1/b +c =
1-(1+c)*d =
вот так хочу)
Particle Booster
но для loadstring приходится всё ручками прописывать с конкатенацией =/
Particle Booster
ну да, не симпатично, но выход. Может найду еще какое решение...
Particle Booster
я это для игры делаю, т.ч. незнаю, что может понадобиться в будущем. Потому, хочется сразу нормально сделать
Particle Booster
я пока вот так сделел. Этого на данный момент хватает, но хочется расширить и для каждого частного случая надо отдельно дописывать строки.
local function supplement(num, sign, round)
if sign == "+" then
return num + annex
elseif sign == "-" then
return num - annex
elseif sign == "*" then
return num * annex - 1
elseif sign == "/" then
if round == "<" then
return math.floor(num / annex)
elseif round == ">" then
return math.ceil(num / annex)
else
return 1
end
else
return 1
end
end
Хочется сделать более наглядно, к примеру, таблицу с набором строк - задач, которые будут легко читаться и использовать переменные из локального пространства функции
Particle Booster
=)
Particle Booster
хочу найти такой вариант, что бы не хардкодить
Particle Booster
Спасибо большое!
Particle Booster
Примеры игра будет подкидывать или игрок вводить?
это для тестирования механики игры. Придется часто менять условия для бросков, к примеру: 4d2, 2d6, 3d10/2, 5d3+3, 2d2+10/2...
По хорошуму, ищу способ реализации универсальной функции.
Lucky
ему чисто балансировщик нужен.
Particle Booster
это настолка, просто на луа я протестирую механику.
Particle Booster
угу
Particle Booster
Ребят, а еще подскажите пожалуйста, как мне из этой строки "4d12/2" записать в разные переменные числа и знак "/"? d надо исключить.
мучаюсь с gmatch, но чёт никак не выходит.
Particle Booster
так, стринг match работает
Particle Booster
усё, заработало
Particle Booster
Кароче, вроде, то что надо выходит =)
https://pastebin.com/8aVVyDSF
Particle Booster
local task = "4d2<(e/2)+0"
local dices, sides, sign1, annex1, sign2, annex2
= string.match(task, "(%d+)d(%d+)(%X+e%X+)(%d+)(%X+)(%d+)")
А как тут можно сделать так, что бы при task = "4d2" луа не ругалась?
Sergey
добрый день можете подсказать как мне можно отправить запрос вида $ curl -LO https://download.cdn.yandex.net/from/yandex.ru/tech/ru/speechkit/cloud/doc/guide/files/speech.wav
Sergey
https://tech.yandex.ru/speechkit/cloud/doc/guide/concepts/speechkit-cloud-asr-quick-start-docpage/
Sergey
описания где можно добавить хедер и отправиь файл не нашел
mva
всё бы хорошо, но где связь с Lua? :)
Sergey
сам скрипт на lua
Sergey
где надо сделать отправку файла
mva
тогда бери Lua-cURL
mva
у него в документации есть в т.ч. о пост-запросах
Sergey
есть примеры не могу найти варианты работы с отправокй файла
mva
если что, его мейнтейнеры - я и @moteus
mva
но я сейчас улетаю по делам :)
Sergey
https://forums.coronalabs.com/topic/28919-posting-a-file-with-httprequest/
Sergey
нашел вроде пример
mva
и да, примеры есть в документации
mva
http://lua-curl.github.io/#example-3-posting-data
Sergey
а то что яндекс просит —data binary
Sergey
это как можно указать
mva
—data-binary <data>
(HTTP) This posts data exactly as specified with no extra processing whatsoever.
mva
lua-curl итак делает именно так, насколько я помню
mva
ShadoWalkeR
ShadoWalkeR
Ну и чтобы гордо говорить "У нас есть документация!"))))
Sergey
local cURL = require "cURL"
c = cURL.easy{
url = "https://asr.yandex.net/asr_xml",
post = true,
httpheader = {
"Content-Type: audio/x-wav";
};
postdata = {
— post file from filesystem
name = {file="/tmp/79196480605.wav",
type="data-binary"},
};
postfields = {
'{"uuid":"01ae13cb744628b58fb536d496daa1e6"}',
'{"key":"1234566789"}',
'{"topic":"queries"}'
}
}
c:perform()
Sergey
Sergey
ощибка выполнения скрипта
Anonymous
postdata строку чтоли ждет
Anonymous
а, скорее postdata:name
Anonymous
почему у тебя в нейм таблица? странно же)
Sergey
local cURL = require "cURL"
f = io.open("/tmp/79196480605.wav", "w")
c = cURL.easy{
url = "https://asr.yandex.net/asr_xml",
writefunction = f,
post = true,
httpheader = {
"Content-Type: audio/x-wav";
};
postfields = '{"uuid":"01ae13cb744628b58fb536d496daa1e6","key":"12345678","topic":"queries"}';
}
c:perform()
f:close()
print("Done")
Sergey
вроде работает
Sergey
но как мне результат
Sergey
вывести
Sergey
XML
Anonymous
а там голый хмл или какой-то формат?
Anonymous
что возвращает яндекс?
Sergey
формат
Anonymous
хмл это же просто строка
Sergey
мне бы просто посмтреть что щас вернуло
Anonymous
если хочешь с тегами вывести то просто io.print
Anonymous
или как там в луа
Anonymous
просто напечатай
Sergey
io.print(c)
Sergey
так
Sergey
?
Anonymous
наверн
Anonymous
я на луа не писал
ShadoWalkeR
Выкинуть io и поставить filesystem. Я пробовал через io работать - это дохлый номер - неработоспособно
Sergey
как тогда правильно
ShadoWalkeR
Выкинуть io и поставить filesystem. Я пробовал через io работать - это дохлый номер - неработоспособно
Sergey
https://github.com/keplerproject/luafilesystem нашел либу но не понял как отправлять
mva
к слову, у меня есть ещё замечательная либо htmlparser
mva
(вообще, html парсить занятие неблагодарное, но всё же)
mva
возможно (но не гарантирую) ты можешь ей распарсить свой ответ. Она, конечно, на html заточена, а не на xml, но конкретный селектор, по идее, вытащить можно попробовать (а можно и зависнуть в бесконечном цикле 😃)
mva
в крайнем случае, можешь на luajit через ffi по-быстрому к libxml2 биндинг набросать 😃
Anonymous
ого в луа нет лхмл