Snusmumriken
"Грузовик написан на тракторе?"
Hello, World! 🎄
А на чём Си написан тогда?
Snusmumriken
Эммм.
Snusmumriken
Ни на чём и на всём одновременно.
Hello, World! 🎄
Странно...
Snusmumriken
На чём написан русский язык?
Snusmumriken
(на заборе)
Hello, World! 🎄
На чём написан русский язык?
На листочке :) Тогда Си на Клавиатуре)
Snusmumriken
Кароч. Сишка — это стандарт. Реализация — это конкретный компилятор. Программа которая переводит сишный код в машинный код.
Snusmumriken
И вот компилятор может быть написан на чём угодно, хоть на луях. И он будет просто переводить текст из одной формы в другую.
Snusmumriken
Например вот в такую. Это машинный код динамической библиотеки. И это просто текст машинного кода, байтики. И он подаётся на цпу, коим исполняется. До перевода в машинный код, это была сишка.
Snusmumriken
Кстати, заглушка "This program cannot be run in DOS mode" ))
Snusmumriken
Тогда почему ты задаёшь такие вопросы, раз знаешь?
Snusmumriken
Надо тебе пообщаться с одним товарищем по имени Tonymin. Если увижу его, пошлю сюда.
Snusmumriken
Он вообще всё знает.
Hello, World! 🎄
Snusmumriken
Не вздумай в этом сомневаться.
Hello, World! 🎄
Можно много знать, но всё не возможно
Hello, World! 🎄
Не вздумай в этом сомневаться.
Понятно, надо будет поспрашивать
Snusmumriken
Arslan
Как реализуют ООП на луях в 2к20?
Lucky
Как реализуют ООП на луях в 2к20?
так же - таблицама метатаблицама
Lucky
На хабре глянь, там достаточно.
Arslan
На хабре глянь, там достаточно.
Как-то неинтересно. Пойду лучше изобретать велосипед, но с дополнительными фичами
Timur
Как реализуют ООП на луях в 2к20?
Лично у меня большие надежды на Хишама и его Teal. Но этот тикет https://github.com/teal-language/tl/issues/97 все никак не сходится
Snusmumriken
Как реализуют ООП на луях в 2к20?
Class = {} Class.__index = Class function Class:new(x, y) self = setmetatable({}, self) self.x = x self.y = y return self end
Snusmumriken
Или вот так: https://pastebin.com/9eDU94Ua Очень коротко и с фичами.
Arslan
luac компилит код в байткод?
Snusmumriken
Да.
Arslan
Странный все таки луа. print""print() - может распарсить, а "":format() - нет
Snusmumriken
Странный все таки луа. print""print() - может распарсить, а "":format() - нет
В скобки оберни. ("str"):format(...) На выходе из скобок будет уже нормальный строковый объект.
Snusmumriken
Типа того
Snusmumriken
Хотя на самом деле парсер просто не понимает что можно из кавычек делать объект. А из скобок - он их сначала раскрывает, видит что там строковая фигня и уже у неё вызывает метод.
Snusmumriken
По-моему это из-за того, что луёвый парсер написали раньше добавления строкам методов, и просто не добавляли в него поддержку строчек-структур. Зато у луа очень, очень быстрый самописный парсер ))
Ivan
Парни, если сделал method __tostring можно как-то вывести всё-таки указатель c помощью print()? что за метатаблица __name в чём разница между __tostring?
Snusmumriken
Он со всеми литералами так себя ведёт. Почему парсер сразу не раскроет их как объекты?
Потому что он может быть не в курсе, что литералы могут быть объектами. Я же уже предположил причины.
Hello, World! 🎄
http://texno.info/programmirovanie/uchim-jazyk-lua-za-15-minut/
Hello, World! 🎄
Lua in 15 минут, перевод
Snusmumriken
Все уже прошаренные в инглише, а те кто не прошарен — страдает и прошаривается.
fgntfg
Я английский выучил чтоб документацию к си читать
fgntfg
Советую больше читать на английском, так как информации на этом языке в разы больше
Snusmumriken
Вот у меня тоже сначала было технически вынуждено, а потом я такой "чот аниме закончилось, осталось только ранобэ на енглише", и вот сижу читаю. Потом правда и енглиш заканчивается, приходится жапонский гугл-транслейтом переводить в енглиш и думать, что означает вот ета идиома вот в данном контексте.
Snusmumriken
Кароч, чот натуральных языков слишком много, пойду изобрету эсперанто с общей семантикой, чтобы все на нём писали.
fgntfg
Панславянский уже изобрели
Ivan
Кто-нибудь пользовался библиотекой для тестов busted? Странная штука, об ошибках пишет, а о прошедних тестах нет. Может я что-то не так делаю? busted test/* 0 successes / 0 failures / 0 errors / 0 pending : 0.003032 seconds
Ivan
Почему 0 successes, не могу понять, ведь их много
Leon174
Не пользуюсь, не срослось у нас с busted. Да и плевать. https://github.com/bjornbytes/lust
Ivan
а директорию создать в папке с проектом? Я назвал её test и вызываю через командную строку
Nikolay
да
Ivan
spec странное название для папки с тестами
Nikolay
это подход bdd - тесты это спецификации работы кода
Ivan
обычно тесты кладут в директорию spec. Тогда их можно запускать просто вызывая busted без указания папки
busted busted . что-то ни так, ни так не работает: Error → No test files found matching Lua pattern: _spec, приходится явно указывать busted spec/*
Nikolay
busted busted . что-то ни так, ни так не работает: Error → No test files found matching Lua pattern: _spec, приходится явно указывать busted spec/*
как ты назвал файлы с тестами в папке spec? busted ищет файлы с названиями вида my_super_file_spec.lua
Ivan
ага, я понял. Спасибо
Ivan
странно, что они в доке в самом начале используют пример busted test.lua
Anonymous
Каким образом на lua можно получить список всех файлов в указанной папке и удалить их ?
Всем привет. Парни, есть у кого может готовые решения для паркинга текста?
Anonymous
Парсинга*
Anonymous
К примеру, есть xml файлы, примерного содержания: <Contents> <Key>arenapacks/</Key> <LastModified>2018-12-11T05:32:32.000Z</LastModified> <ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag> <Size>0</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents>
Anonymous
Мне надо создать таблицу в которую записать все строки содержащиеся между <Key>(строка для сохранения)</Key>
Vladislav
luasoap вроде неплохо парсит xml
Vladislav
https://luarocks.org/modules/tomasguisasola/luasoap
Anonymous
string.match ?
Arslan
У lua регулярки не так работают
Anonymous
А если без готовых библиотек, пример кода может кто набросать?
Arslan
А если без готовых библиотек, пример кода может кто набросать?
Если xml не большой, то можно обойтись регулярками: _, match, _ = str:match("(<Key>)(.-)(</Key>)")
Anonymous
local file = gg.EXT_STORAGE..'/xxml.txt' local links = {} if io.open(file,"r") then for line in io.lines(file) do links[#links+1] = line:match("(<Key>)(.-)(</Key>)") end end print(links)
Anonymous
Anonymous
Немного не то выдал
Arslan
local file = gg.EXT_STORAGE..'/xxml.txt' local links = {} if io.open(file,"r") then for line in io.lines(file) do _, links[#links+1], _ = line:match("(<Key>)(.-)(</Key>)") end end print(links)
Anonymous
Anonymous
Спасибо огромное!