Size: a a a

Сrystal Lang — русскоговорящее сообщество

2021 September 30

DV

Dmitriy Vishnevskiy in Сrystal Lang — русскоговорящее сообщество
Работает норм
источник

DV

Dmitriy Vishnevskiy in Сrystal Lang — русскоговорящее сообщество
```test
Proc(Nil)
```
источник

DV

Dmitriy Vishnevskiy in Сrystal Lang — русскоговорящее сообщество
Тут вроде описано нечто похожее https://crystal-lang.org/api/1.1.1/Proc.html
источник

AK

Andrey Konovalov in Сrystal Lang — русскоговорящее сообщество
Да, есть такое. В принципе норм, сойдёт. Хотя странно, что методы - это хрен знает что. Такой жирный кусок функционала... Наверное, это в действительности с т.з. ООП часть AST компилятора и получить доступ к ней можно только из макросов.
источник

AK

Anton Korotkikh in Сrystal Lang — русскоговорящее сообщество
эта проблема особенно смешно смотрится рядом с этим недавним сообщением
https://t.me/crystal_ru/27290
источник

YS

Yura Sokolov in Сrystal Lang — русскоговорящее сообщество
Перегрузка методов: в Crystal можно иметь много методов, различающихся только типами аргументов. (а ещё, передан или нет блок).
Т.е. та же проблема, что и в C++.

Чтобы взять ссылку на конкретный метод, нужно как-то указать типы всех его аргументов.
источник

DV

Dmitriy Vishnevskiy in Сrystal Lang — русскоговорящее сообщество
Как мне кажется, го в обратную сторону построен, там ооп - синтаксический сахар над передачей структуры первым параметром в функцию
источник

YS

Yura Sokolov in Сrystal Lang — русскоговорящее сообщество
В Go есть ещё интерфейсы. Чтобы структура удовлетворяла интерфейсу, нужно объявить на ней методы. И эта штука будет проверяться не только во время компиляции, но и в рантайме (когда кастишь один интерфейс к другому).
источник

AK

Andrey Konovalov in Сrystal Lang — русскоговорящее сообщество
Ну, везде есть недостатки :)
Меня в данном случае удивляет именно отход от фундаментальной концепции про то, что любая сущность программы - это объект.
Но с другой стороны если считать, что методы - часть AST, то всё становится на свои места
источник

AK

Andrey Konovalov in Сrystal Lang — русскоговорящее сообщество
Я же не пытаюсь у знака равенства вызвать метод
источник

AK

Andrey Konovalov in Сrystal Lang — русскоговорящее сообщество
Сделали бы метод+сигнатуру токеном, на котором можно вызвать хотя бы .class
источник

АК

Андрей Коновод... in Сrystal Lang — русскоговорящее сообщество
где .class там и наследование.
источник
2021 October 01

ДБ

Дмитрий Богданов... in Сrystal Lang — русскоговорящее сообщество
Всем привет, спросить хотел, есть ли какие библиотеки под Crystal для создания GUI? А то весь гитхаб перешерстил, всё не то нахожу.
источник

E

Etki in Сrystal Lang — русскоговорящее сообщество
Рефлексией эту информацию не достать? После компиляции она уже не существует, как в упомянутых плюсах?
источник

AK

Andrey Konovalov in Сrystal Lang — русскоговорящее сообщество
crystalshards.org ведь. Я находил либы под Gtk, Qt и (вроде бы) Fltk.
источник

AK

Andrey Konovalov in Сrystal Lang — русскоговорящее сообщество
источник

YS

Yura Sokolov in Сrystal Lang — русскоговорящее сообщество
Если честно, не знаю. Но и как это поможет в обработке x.send(dynamic_name) ? Если в рантайме пытаться резолвить по типам аргументов, быстро не будет. А вы вряд ли ожидаете от Crystal «быстро не будет».
Всё-таки лучше разруливать такой маппинг своими силами: и типы подогнать/продумать можно, и лишнего в маппинг не попадёт.
источник
2021 October 02

ДБ

Дмитрий Богданов... in Сrystal Lang — русскоговорящее сообщество
Спасибо
источник
2021 October 04

U

Unknown in Сrystal Lang — русскоговорящее сообщество
Что делает delegate? Не нашел в спеке
источник

U

Unknown in Сrystal Lang — русскоговорящее сообщество
источник