Snusmumriken
КТО-ТО СКАЗАЛ "НОРМАЛЬНЫЙ ИНТЕРФЕЙС В ТЕРМИНАЛЕ"?!
Sergey
хы
Anonymous
Стекляный телетайп
Anonymous
Норм
Snusmumriken
У меня где-то есть либа для этого прост, сам калякал
Sergey
Попробовали на repl.it мой пример с repeat until?
Anonymous
Д, я читаю эту ветку
Snusmumriken
А если и убивается - возвращать не nil а пустую строку.
fgntfg
Что?
fgntfg
Я пилю всякое
fgntfg
https://youtu.be/Jtzi5fBrzI4
Ivan
А кто их пишет? Он же здесь, покажись!
Ivan
Хм, а кто переводит
Elias
Чувак, который пишет статьи по LOVE (SSYGEN) пропагандирует глобальные переменные и копипаст кода Это меня печалит
Tverd
чем развлекаетесь?
Tverd
хз ))) видать не указали ничего, вот и не считывает ничего
Tverd
запустил конечно
Tverd
третье - nil
Tverd
из файла нормально читает... щас даже проверю
Tverd
я так понимаю, если нет дескриптора файла, он берет из stdin. Но почему при пустом read возвращает nil - и что должен возвращать - не понятно... но думаю что это нормально, пишите "*n" )))))
Ilya
По-моему там код уже изменился. Сначала было io.read("*n", "*l")
Tverd
один? или строка пойдет?
Tverd
local symbol = io.read() не благодарите 😆
Ilya
В общем io.read("*n", "*l") тоже глючит и нельзя этим пользоваться. Вместо этого только local n = tonumber(io.read()) С этим всё нормально работает.
Ilya
цитата
Ilya
Если хочется непременно '*n', то надо делать io.read('*n'); io.read('*l'); (отдельными вызовами)
Ilya
А строка и не нужна, как я понял - нужно число ))
Tverd
local symbol = io.read() у меня возвращает только что введенную строку, это не то?
Ilya
Она будет не пустой, а содержать все то, что идет после числа. Т.е. если ничего не идет, то пустая строка.
Tverd
ну получили строку - преобразовали в число
Tverd
ну если именно эта задача - то да... 2 цифры и потом возврат ввода...
Tverd
ну так не очень себе поведение
Tverd
ну да, тут надо думаю лезть уже в исходники смотреть
Tverd
вполне возможно, никогда не пробовал вводить с клавиатуры что-то в луа, пользовался другими вещами, библиотеками
Ilya
Просто прими за данность, что '*n' не читает перевод строки, вот и все :)
Ilya
Зато если в одной строке есть подряд несколько чисел, их можно поочередно считать несколькими вызовами io.read('*n')
fgntfg
Правильнее, на мой взгляд - *a, а потом уже со строкой разбираться.
Ilya
Вот неправда.
Ilya
Просто он альтернативно починен 😃
Ilya
У меня есть такое чувство, что если делаешь что-то вроде шелла, то есть смысл всегда читать по одной строке. И не заморачиваться со всякими там '*n'.
Ilya
@SergeyLerg ^^
Sergey
Я к такому выводу и пришёл, что *n в топку.
Тибетский лис ⋆ ⚝️
Биток еще
Anonymous
вопрос а если имеется таблица, которую создавал не я или я, но очень давно и я не знаю точно, какие там есть поля и я так же не знаю, есть ли в ней дыры можно ли как то узнать все ее не nilовые поля?
Anonymous
вопрос возможно глупый, но прошу отнестить с пониманием :D (надо бы добавлять к каждому своему вопросу)
Kukuzapa
Перебор с рекурсие по type(smth) == 'table'
Anonymous
а если в таблице есть дыры, как перебирать?
Kukuzapa
for i,v in pairs(table) do ... end
Anonymous
оо
Kukuzapa
оо
Что-то не так, по вашему мнению?
Anonymous
pairs просто работает на все не ниловые пары в таблице?
Anonymous
и неважно есть ли дырки?
Anonymous
"ВСЕ ключи-значения в таблице, опуская поля, равные nil"
Anonymous
да главное, чтобы он все обходил) порядок не важен по крайней мере в тех ситуациях, о которых я думаю
Anonymous
вот, я поэтому и спрашивал сразу приходит на ум обход по увеличению индекса, но эти дырки
Anonymous
ну, обойти все поля таблицы но условия такие, что неизвестно, есть ли а таблице дыры и обычно чтобы найти все поля на ум приходит просто перебор по увеличению индекса но в люа могут быть дырки и от того возник вопрос
Anonymous
Ребят вы когда успеваете писать код и ещё в чат)
Anonymous
?
fgntfg
Я не пишу код
Anonymous
+1 не пишу код уже полтора года. Брат жив.
Anonymous
Исследования показывают, что сотрудники, которым разрешено отвлекаться, например на вконтакт, перформят лучше
Anonymous
Что это такое?
Anonymous
зачем играть в симуляторы программирования, если можно просто программировать? :D
Anonymous
Что программировать
Anonymous
Вот отвечаю прям , если бы у меня задачи были, я бы программировал эти полтора года, а не в больнице лежал
Anonymous
Что программировать
игры, разумеется :D
Anonymous
А, игры
Anonymous
Никогда не пробовал
Anonymous
Игры можно колхозные писать, без архитектуры
Anonymous
Но тогда лень, да
Anonymous
а ты делай как я не думай :D (а потом е*ись с тем, что получается в итоге, но это уже совсем другая история)
Anonymous
Возьми из какого-нибудь xul
Anonymous
Или javafx
mAX
Товарищи, а можете помочь.. хочу из C получить таблицу и вывести все ее поля рекурсивно.. столкнулся с тем что если в таблице одно поле является массивом типа res.arrr = { 'asdasd', 'cxzczcx', 'zxczxczxc' } то все падает..подскажите как правильно определить тип и получить такой объект в С код который парсит объект на данный момент выглядит вот так: void PrintTable(lua_State *L, int i = 0) { lua_pushnil(L); while(lua_next(L, -2) != 0) { std::string name = lua_tostring(L, -2); std::cout << tab(i) << "Name: " << name << std::endl; if (lua_isstring(L, -1)) std::cout << tab(i) << name << " " << lua_tostring(L, -1) << std::endl; else if (lua_isnumber(L, -1)) std::cout << tab(i) << name << " " << lua_tonumber(L, -1) << std::endl; else if (lua_istable(L, -1)) { std::cout << tab(i) << name << std::endl; PrintTable(L, i); } else { std::cout << tab(i) << "Other type" << std::endl; } lua_pop(L, 1); } }
mAX
если массива нету,то все ок..дампит любую таблице рекурсивно,но если массив, то падает
mAX
я вызвал функция и разбираю ее ретурн
Ilya
Массив этот свой
Ilya
Перед рекурсивным вызовом