Hello, World! 🎄
Сергей
Наверно оценка
оценка чего? ворда?
Hello, World! 🎄
оценка чего? ворда?
Типо за предмет оценка, это другие студенты выполняли задание
Igor
База может настроена на unsigned типы по стандарту
Igor
Да и так-то редко, к сожалению, преподавателям платят больше 32к
Hello, World! 🎄
Михаил
поч тут нельзя проводить трансляции
Snusmumriken
Snusmumriken
А зачем тебе?
Михаил
а че б нет
Михаил
смотрят всякие чуваки, обсирают твой код, поправляешь по 100500 раз)
Михаил
итак смотрите на текущий синтаксис циклов fn fact(n) { local f = 1; for i = 1, n do f = f * i; return f; } local n = tonumber(io.read()); print(fact(n));
Михаил
оно робоботает
Luсky
Затести на рейтрейсере.
Snusmumriken
итак смотрите на текущий синтаксис циклов fn fact(n) { local f = 1; for i = 1, n do f = f * i; return f; } local n = tonumber(io.read()); print(fact(n));
Вложенность через отступы к сожалению довольно раковая концепция, которая работает только в питоне потому что питон выжрал себе под это нишу.
Михаил
fn fact(n) {local f = 1; for i = 1, n do f = f * i return f; } local n = tonumber(io.read()); print(fact(n));
Snusmumriken
Вообще (вообще), есть некислая вероятность что проще не модифицировать луёвый лексер-парсер, а накатать прослойку а ля typescript, которая конвертит то что ты пишешь в луашку.
Михаил
Snusmumriken
Ты кстати видел мунскрипт?
Snusmumriken
Перфекцифигист
Snusmumriken
(ето я)
Михаил
лишний проход лексера и парсера, кэширование этого гавеного жс, ну зачем это всё?
Luсky
Сейчас медицина большие успехи делает.
Snusmumriken
лишний проход лексера и парсера, кэширование этого гавеного жс, ну зачем это всё?
Одноразовый проход при загрузке — ерунда. А ещё ты всегда можешь запилить свой формат файлов и потоком конвертить всё в луашку при релизе, запускаться уже будет луашка.
Михаил
у меня и так свой формат, я столько синтаксиса поменял
Snusmumriken
Да ты чо, зато совместимость с любой луашкой.
Михаил
да я могу код парсера скопировать и функции сделать типа require_lua "..."
Snusmumriken
А потом берёшь такой и myscriptconv -i ./*.myscript -o ./ И конвертишь всё своё накатанное в луашку. А потом запускаешь луёвый код любым луёвым интерпретатором.
Михаил
нееееет только не транспиляторы, за чтоо
Михаил
зачем я тогда патчил луашку если мог просто написать свой транспилятор в луашку с совершенно другого яп?
Snusmumriken
*со своего яп который может быть на 90% луашка
Михаил
на 100% барашка
Михаил
ладно
Snusmumriken
А я сделал так чтобы обычное луёвое require работало с мунскриптом.
Snusmumriken
Lol, I made a "script loader" in Lua for Lua a while ago. Its main task is to register relative paths in package paths, so that you can run the “project” in some directory. Second task is "pausing" on error. Invisibly, without doing anything extra with the code being run or arguments or anything else, so that you can simply send it to users. So I added moonscript loader for "jit moonscript translation" during require.
Михаил
есть у кого-то в базе данных название luar? хочу свой диалект так назвать
Snusmumriken
Lol, I made a "script loader" in Lua for Lua a while ago. Its main task is to register relative paths in package paths, so that you can run the “project” in some directory. Second task is "pausing" on error. Invisibly, without doing anything extra with the code being run or arguments or anything else, so that you can simply send it to users. So I added moonscript loader for "jit moonscript translation" during require.
И кстати, вот это вот то что у меня заскринено — прекраснейшая штука через которую я запускаю все луёвые скрипты при разработке. 1. Оно добавляет "текущую директорию" запускаемого скрипта в package.path/cpath 2. Оно может инициализировать любую фигню которую я хочу (когда я захочу свою betterlua by default, я его пихну сюда же) 3. Оно запускает через xpcall и выводит отладочку с паузой, так что окошко со скриптом не исчезает мгновенно от ошибок. 4. И при всём при этом, не даёт сайд-эффектов.
Snusmumriken
То есть, если я в луажыте попробую запустить рандомную фигню для него не предназначенную, оно блин мне скажет что тут есть проблема, а не мгновенно закроется. Эти закрывашки по дефолту бесят неимоверно, хоть опции для терминала добавляй.
Snusmumriken
Ну как ты запускаешь? Открываешь терминал, пишешь туда lua ./myscript.lua, и оно тебе запускает, так?
Snusmumriken
А я запускаю шорткатом текстового редактора, без перехватов stdout и прочей модной ерунды (по ряду причин). И в подобном случае — при запуске из батников, или из редактора или откуда-то ещё — появляется терминал, и при любой ошибке тут же исчезает, не давая прочитать про ошибку.
Михаил
у меня линупс... и я работаю обычно из консоли, которая никуда не исчезает) в винде тоже консоль поставил ConEmu, и попробовать советую
Snusmumriken
Конэму ничего такая но много где мешается.
Михаил
А я запускаю шорткатом текстового редактора, без перехватов stdout и прочей модной ерунды (по ряду причин). И в подобном случае — при запуске из батников, или из редактора или откуда-то ещё — появляется терминал, и при любой ошибке тут же исчезает, не давая прочитать про ошибку.
а вот это имхо чисто для себя, я воспринимаю луа как встраиваемый язык, и все запуски вроде lua ./myscript.lua - это временно, т.е. на время разработки; придет время, и такую команду можно будет не писать - скрипты будет автоматически подгружать только игровой движок
Михаил
Это не то, что cygwin ставит? Или я путаю...
нет. всякие cygwin, Git For Windows, MSYS2 ставят bash (во многом его жалкое подобие), который, кстати, можно юзать в ConEmu
Михаил
Михаил
патч на проход по автокомплиту на pgUp/pgDn вместо стрелок
Snusmumriken
kate... патченный)) 24.04.70
Ну, полагаю ты пользуешься перехваченным катюхой терминалом.
Михаил
Ну, полагаю ты пользуешься перехваченным катюхой терминалом.
нет. внешний. мне мало встроенного, да и экран не фуллхд
Snusmumriken
И для каждого проекта, ты такой открываешь терминал, перемещаешься в нужную директорию, и такой раз за разом запускаешь, я полагаю?
Михаил
но у меня алиасы
Михаил
alias c='cd /s/Projects/cm3l' alias e='cd /s/Projects/Composite3D'
Михаил
соответственно мой ЯП и движок
Snusmumriken
таки да
Ну в общем, у меня в блокноте открыт примерно миллиард файликов, и я предпочитаю кратчайшее время переключения между ними, и кратчайший же цикл "отредактировали — запустили — отредактировали — запустили", чтобы не было ровно ни одной лишней мысли.
Михаил
так, я придумал новый оператор, если получится сегодня добавить то я гений и язык получится офигенный и выразительный
Сергей
kate... патченный)) 24.04.70
есть какая-нибудь невырвиглазная цветовая схема на нее?
Hello, World! 🎄
Жуткая реклама теперь, страшно Кто не догадался посмотрите на руки
Михаил
Жуткая реклама теперь, страшно Кто не догадался посмотрите на руки
без пункта "получить дополнительные руки" не комильфо
Petr
Друзья, а не подскажете книгу, статейку, видео что угодно по шейдерам GLSL? Чет я максимально туплю и не въезжаю до конца как это работает. Или уже въехал, но не понял этого. В общем помогите, если есть что на примете. Спасибо!
Luсky
thebookofshaders
Luсky
The Book of Shaders https://thebookofshaders.com/?lan=ru
Snusmumriken
Друзья, а не подскажете книгу, статейку, видео что угодно по шейдерам GLSL? Чет я максимально туплю и не въезжаю до конца как это работает. Или уже въехал, но не понял этого. В общем помогите, если есть что на примете. Спасибо!
Вкратце, во фрагментном шейдере, ты пишешь программу которая применяется к каждому пикселю. То есть, исходя из некоторых параметров (положение на экране, вектор uv-координат, углы данного пикселя к нормали относительно источника освещения, ещё куча дополнительной фигни) вычисляешь цвет пикселя. В вершинном же шейдере, меняешь положение данной вершины, например, умножаешь на пару матриц view-model.
Михаил
чего я достиг
Михаил
настолько гибких if else больше ни в одном япе нет
Михаил
если скобочки при условии есть то это считается c-style, а следовательно: - разрешается делать всего 1 statement после условия - читаются фигурные скобочки если присутствует then или отсутствуют скобочки это считается луа стайл и парсится end. при этом если скобочки все таки есть но then присутствует - тоже читается. полная обратная совместимость с луашкой есть
Petr
Вкратце, во фрагментном шейдере, ты пишешь программу которая применяется к каждому пикселю. То есть, исходя из некоторых параметров (положение на экране, вектор uv-координат, углы данного пикселя к нормали относительно источника освещения, ещё куча дополнительной фигни) вычисляешь цвет пикселя. В вершинном же шейдере, меняешь положение данной вершины, например, умножаешь на пару матриц view-model.
Ну вот на этом уровне я как раз понимаю, ага. Но смотрю на код шейдера и не понимаю "входы" и "выходы" это видимо от того что я параллельно и сам OpenGL сейчас осваиваю, думаю в этом проблема. Типа пока "пазл не складывается", но думаю это временно. Ук мне крутой сайт подкинул, думаю там всё что надо найду на ближайшее время.