Petr
learnopengl.com
Ага, этот уже нашел тоже, спасибо. Ещё вот такой есть: https://open.gl/
Михаил
Petr
> 10 years ago bruh
Опенгл уже лет 10 как не меняется как раз)
Михаил
Опенгл уже лет 10 как не меняется как раз)
последний стандарт вроде 2016 года
Михаил
насколько я понял тот опен.гл объясняет опенгл 3.1
Михаил
конечно есть машины и без опенгл 3.1 но у меня 3.3
Petr
На моём уровне знаний я думаю тут не принципиально. Буду смотреть разное пока не пойму.
Uni_X
Михаил
чуваки я вот в ступоре. мне кажется такой размытый синтаксис не приведет ни к чему кроме бардака
Михаил
Михаил
кокой?
тот что я форкнул луажит и балуюсь с парсером
Михаил
ну ладно, может ты прав, потому что если его разделить все равно в контексте останутся зарезервированные слова типа fn, и их будет сложно удалить
Михаил
кто не знает вот вам интересный факт: тип строк в луашке называется GCstr. При инициализации парсера все эти строки создаются
Михаил
и "чинятся", чтобы GC их не удалял. потому что у них может быть 0 ссылок
Lucky
тот что я форкнул луажит и балуюсь с парсером
Оставь. Это типа гибкость такая особая.
Михаил
а вообще можно директиву ввести
Михаил
типа #pragma syntax legacy -- default for .lua #pragma syntax new -- default for .luar and REPL #pragma syntax compat -- fusion
Hello, World! 🎄
Не правда
Михаил
fixstring
Михаил
получается, шо я делаю то - то же самое, что и котлин по отношению к жаве
UtoECat
типа #pragma syntax legacy -- default for .lua #pragma syntax new -- default for .luar and REPL #pragma syntax compat -- fusion
Ох... Ты действительно этого хочешь? В луа не просто так от препроцессора отказались
Михаил
кстати в луашке есть директива POSIX
Hello, World! 🎄
Если это касается запоминания информации, то результат может быть разным повторяя одно и тоже действие
Михаил
#!/bin/lua
Михаил
очень удобно. луажит тоже поддерживает
Михаил
чтобы не было неоднозначности с length operator думаю подойдут квадратные скобочки
Михаил
#[syntax legacy] и пишешь на обычной луашке
Михаил
да, прикольно будет, так и делаю
Михаил
ток сначала fusion полностью закончу
Михаил
только без нового оператора
Михаил
#[luar] local f = fn() print("hello world"); end f(); #[lua] local f = function() print("hello world"); end f();
Михаил
оно работает
Михаил
Михаил
прикол в чем - у меня объявлены зарезервированные токены, в т.ч. TK_function и TK_fn. Один из них я при инициализации лексера пропускаю без резервирования, причем записываю указатели на строки в глобал стейт, и оба закрепляю (fixstring). При переключении режима я просто перекладываю свойство ->reserved из одной строки в другую, а свойство оставшейся получает 0
Михаил
более демонстративно будет так #[luar] local function = fn() print("hello world"); end function(); #[lua] local fn = function() print("hello world"); end fn(); И да, я только что это проверил. Исправно выдает hello world. Я в шоке
Михаил
ток сначала fusion полностью закончу
(fusion, разумеется, никто не закончил)
Domka
Domka
Всем привет
Domka
Я тут наконец та, написал простенький рендер raycasting
Snusmumriken
Оооо миленько
Михаил
давно мечтал о таком синтаксисе
Uni_X
давно мечтал о таком синтаксисе
fn... Растовские привычки?)
Михаил
fn... Растовские привычки?)
не писал на расте почти
Михаил
просто удобно
Михаил
всего две буквы и у тебя функция
Михаил
fn(){} это целое выражение, ровно как function() end в обычном луа
Михаил
> g = fn() for i = 1, 5 do print(i) for i = 5, 10 do print(i) 5 6 7 8 9 10 > g() 1 2 3 4 5
Михаил
[luar] local fn main(p) { if (p == 1) { print(1); } else if (p == 2) { print(2); } else print(3); } return main;
Михаил
теперь работают разделенные else if, просто как побочка от того, что я отказался от end
Михаил
[luar] local fn main(p) if (p == 1) print(1); else if (p == 2) print(2); else print(3); return main; то же самое
Re
Никто не заставляет, но как педагог как я должен учить всему этому? зачем? если я могу взять Lua и давать нормальную базу. а не вот это изъебство на С++.
Re
зачем учить детей не быть джунами? тоже не понятно на самом деле...ты или даешь реально инструмент или зачем? трудовики учат забивать гвозди не что бы работать идти, но что бы был инструмент. что бы человек понимал возможности и.т.д. и.т.д. а давать это все на С++. Вообще сомнительно. Сразу истории про станки и отрезанные пальцы.
UtoECat
Никто не заставляет, но как педагог как я должен учить всему этому? зачем? если я могу взять Lua и давать нормальную базу. а не вот это изъебство на С++.
нет не должен. И очевидно, что аффтар очень переборшил с тем, чтобы заставлять детей на информатике плюсы заучивать
Михаил
я тоже еще где-то в 7 классе думал чтобы вместо паскаля преподавали луашку
UtoECat
зачем учить детей не быть джунами? тоже не понятно на самом деле...ты или даешь реально инструмент или зачем? трудовики учат забивать гвозди не что бы работать идти, но что бы был инструмент. что бы человек понимал возможности и.т.д. и.т.д. а давать это все на С++. Вообще сомнительно. Сразу истории про станки и отрезанные пальцы.
> зачем учить детей не быть джунами? тоже не понятно на самом деле...ты или даешь реально инструмент или зачем? Можно свести к "зачем детям в школе физика, если большинство сдадут её на трояки и не станут Физиками докторами каких-то там наук"
Re
но в самом деле база это Си
хорошо, чем на СИ сможет развлечь себя человек?
Re
мотивацию как ему давать?
Михаил
но в самом деле база это Си
луа слишком удобен. garbage collector, динамическая типизация (пусть иногда и неудобно, но все же)
Re
И что он сделает с ним?
Михаил
повесится ну с опенгл перейдет на плюсы и напишет движок)
Re
ребенок сам?
Re
70% забьют хер
Михаил
ну ребенок это другое дело совсем
Михаил
пусть луашку учит
Re
Даже студент через 1 хер забивает.
Михаил
ну лично я скажу что на с++ больше возможностей для новичка чем на том же луа
Re
возможностей в чем? ну мне бы примеры. для понимания...
Михаил
представь что ты ничего не знаешь, кроме того, что существуют луа, си и с++
Михаил
вот. допустим берешь луа