gavr_sas
184 subscribers
2.59K photos
174 videos
24 files
765 links
JB пропаганда
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
юзверь прислал такую проблему с ui флита, можете ли вы понять шо его не устраивает токо из гифки?
отгадка завтра
🤔1
Прототипное наследование было топ, до того как его решили впендюрить в си лайк язык со слабой типизацией.
Это было развитие идеи ООП, если все есть объект, и каждый объект принадлежит Класссу объектов, то к какому классу принадлежит класс, конечно же к MetaClass, а MetaClass? а его мы зациклим, его класс будет он сам, чтобы сломать рекурсию.

Ну это как то тупо, подумали в лаборатории Palo Alto и запилили Self язык без классов, по сути это был Smalltalk 2.0
gavr_sas
Прототипное наследование было топ, до того как его решили впендюрить в си лайк язык со слабой типизацией. Это было развитие идеи ООП, если все есть объект, и каждый объект принадлежит Класссу объектов, то к какому классу принадлежит класс, конечно же к MetaClass…
Такому типу наследования ну очень идет гуи.
Когда исполнив любое выражение ты буквально получаешь в руки объект результа.
Все объекты таблички, значением может быть что угодно, если вставим лямбду получим что у объекта есть метод, отпрототипимся, получим объект с тем же методом.
В каждом "объекте" поле в котором можно делать eval и из которого доступны поля этого объекта, то есть каждый объект как мини иде со своим скоупом.

На скриншотах пример выставления пятерки в дефолтное значение поля foo
https://codapi.org/
Нашел прикольную штуку, может когда нибудь заюзаю.
Как питон ноутбуки, только для всех языков, и без стейта, нужно скорее для документации и презентаций, можно выставить зависимость между сниппетами чтобы при запуске 3 сначала выполнились 1 и 2.
🔥1
Увы кал
На поверхности звучит просто идеально, наконец то рпг в не остачертевшем фентези сеттинге, но все просто очень плохо, везде как будто проглядывает низкобюджетность и отсутствие оригинальных идей
Забавная история ишья автоматом закрывается если создавший ее чел не поставил в проект звездочку
https://github.com/daeuniverse/dae/issues/368

И разумеется в ридми репы есть подсчет звездочек
😁3
1🤯1
JetbrainsAI vs Dead Grandmother
👍1
Ну то есть то ради чего все юзают раст?
Проектирую нуллабилити для языка
синтакс справка:
x > 5 => x foo bar
// это у меня
if (x > 5) {
x.foo().bar()
}


Изучаю как другие решаеют, вот Swift делает странновато, if let переменная = нуллабл, которая внутри тела ифа будет не нуллабл
let abc = null
if let variableName = abc { // If casting, use, eg, if let var = abc as? NSString
// variableName will be abc, unwrapped
} else {
// abc is nil
}


У меня бы это было наверно как то так, потому что уже есть синтаксис лямбд такой же
x = null
x != null => [nonNullX -> ...]
или
nonNullX = x != null => [...]

Но зачем это это объявление переменной, если обычная проверка на нулл и так должна сужать тип?
-Потому что если переменная мутабельна, то делать это небезопасно, что если в другом потоке кто-то снова присвоит ей нулл? тогда внутри ифа произойдет NRE.

Так что вроде бы идея неплохая, и вложенную нулабилити покрывает
if let money = person?.wallet?.money { money non null here }


Так что украду этот синтаксис, он также супер упрощает резолвинг, не нужно ебаца с булевой алгеброй, например в котлине у нас
if (x != null && y != null) { x и y смарткастнулись к нон нулл}
а если бы было || то не смарткастнулись бы, и это еще самый простой вариант только, так что у меня будет свифтовая семантика с локальными переменными, токо не знаю стоит ли оставлять != null, у swift нету
if let w = person?.wallet {w ...}

person wallet => [w -> w уже не нулл]
Простите что отвлекаю но это шаровары
😁4
скоро буду менять хату, есть хороший вариант но на первом этаже, хмм, никогда на первом не жил, там до улицы буквально стеклянная дверца съезжающая дверца, все остальное тупа топ якие подводные интересно