Snusmumriken
"Грузовик написан на тракторе?"
Hello, World! 🎄
А на чём Си написан тогда?
Snusmumriken
Эммм.
Snusmumriken
Ни на чём и на всём одновременно.
Hello, World! 🎄
Странно...
Snusmumriken
На чём написан русский язык?
Snusmumriken
(на заборе)
Snusmumriken
Кароч. Сишка — это стандарт. Реализация — это конкретный компилятор. Программа которая переводит сишный код в машинный код.
Snusmumriken
И вот компилятор может быть написан на чём угодно, хоть на луях. И он будет просто переводить текст из одной формы в другую.
Snusmumriken
Например вот в такую. Это машинный код динамической библиотеки. И это просто текст машинного кода, байтики. И он подаётся на цпу, коим исполняется. До перевода в машинный код, это была сишка.
Snusmumriken
Кстати, заглушка "This program cannot be run in DOS mode" ))
Hello, World! 🎄
Snusmumriken
Тогда почему ты задаёшь такие вопросы, раз знаешь?
Hello, World! 🎄
Snusmumriken
Надо тебе пообщаться с одним товарищем по имени Tonymin. Если увижу его, пошлю сюда.
Snusmumriken
Он вообще всё знает.
Hello, World! 🎄
Snusmumriken
Не вздумай в этом сомневаться.
Hello, World! 🎄
Можно много знать, но всё не возможно
Arslan
Snusmumriken
Arslan
Как реализуют ООП на луях в 2к20?
Lucky
На хабре глянь, там достаточно.
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
Типа того
Snusmumriken
Хотя на самом деле парсер просто не понимает что можно из кавычек делать объект. А из скобок - он их сначала раскрывает, видит что там строковая фигня и уже у неё вызывает метод.
Snusmumriken
По-моему это из-за того, что луёвый парсер написали раньше добавления строкам методов, и просто не добавляли в него поддержку строчек-структур. Зато у луа очень, очень быстрый самописный парсер ))
Ivan
Парни, если сделал method __tostring можно как-то вывести всё-таки указатель c помощью print()? что за метатаблица __name в чём разница между __tostring?
Arslan
Luсky
Hello, World! 🎄
http://texno.info/programmirovanie/uchim-jazyk-lua-za-15-minut/
Hello, World! 🎄
Lua in 15 минут, перевод
Snusmumriken
Все уже прошаренные в инглише, а те кто не прошарен — страдает и прошаривается.
fgntfg
Я английский выучил чтоб документацию к си читать
fgntfg
Советую больше читать на английском, так как информации на этом языке в разы больше
Snusmumriken
Вот у меня тоже сначала было технически вынуждено, а потом я такой "чот аниме закончилось, осталось только ранобэ на енглише", и вот сижу читаю. Потом правда и енглиш заканчивается, приходится жапонский гугл-транслейтом переводить в енглиш и думать, что означает вот ета идиома вот в данном контексте.
Snusmumriken
Кароч, чот натуральных языков слишком много, пойду изобрету эсперанто с общей семантикой, чтобы все на нём писали.
fgntfg
Панславянский уже изобрели
Ivan
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
Nikolay
Ivan
а директорию создать в папке с проектом? Я назвал её test и вызываю через командную строку
Nikolay
да
Ivan
spec странное название для папки с тестами
Nikolay
это подход bdd - тесты это спецификации работы кода
Nikolay
Ivan
ага, я понял. Спасибо
Ivan
странно, что они в доке в самом начале используют пример busted test.lua
Anonymous
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
А если без готовых библиотек, пример кода может кто набросать?
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
Anonymous
Спасибо огромное!