
Pavel
18.03.2018
12:06:27
Я так понял что людвиг сделал это потому что его реализация сильно завязана на событийные механизмы вроде epoll

Denis
18.03.2018
12:07:08
не только он так сделал

Dark
18.03.2018
19:53:31
А std.digest заброшен? Чисто по интересу, т.к. он того... Странная и неполная дока

Google

Pavel
18.03.2018
20:00:08
Да вроде нет
Доки просто не успевают вести, можно контрибутить

Dark
18.03.2018
20:01:14
Мож проконтрибучу, но все равно, блекло как то
Еще такой вопрос
А UDA вообще кто-нибудь использует?

Evgeny
18.03.2018
20:03:28

Dark
18.03.2018
20:03:36
И для чего?

Pavel
18.03.2018
20:03:37
User Defined Attributes?

Dark
18.03.2018
20:03:52
Да

Pavel
18.03.2018
20:04:15
У меня вот как раз сейчас появилась вакансия для этого

Evgeny
18.03.2018
20:04:32
И для чего?
помечать сущности метаданными, а потом на основании метаданных как-то обрабатывать сущности.

Pavel
18.03.2018
20:04:41
Надо парсить sdlang файлы на внутренние объекты

Evgeny
18.03.2018
20:05:16
Например, в вайбовском веб-фреймворке, с помощью UDA помечаются методы обрабатывающие http-запросы

Google

Dark
18.03.2018
20:05:30

Pavel
18.03.2018
20:05:39
Да штука ходовая)

Dark
18.03.2018
20:07:07

Pavel
18.03.2018
20:07:36
Да а к чему вопросы то? Очевидно же)

Dark
18.03.2018
20:07:50
Просто уточнил
В Python с таким синтаксисом есть какая-то хитрозадая штука

Pavel
18.03.2018
20:08:53
Даже в пхп их сбоку прикрутили, без них вообще грустно

Dark
18.03.2018
20:09:15
Что именно?
UDA?

Pavel
18.03.2018
20:09:33
Да, там это называется аннотации

Dark
18.03.2018
20:10:30
А, вспомнил
В питоне это декораторы

Pavel
18.03.2018
20:10:53
Как минимум отличный пример это как раз всякие мапперы и сериализаторы

Dark
18.03.2018
20:14:28
Теперь ещё вопрос. Можно ли сделать как то так?
enum A { B, C }
void f(A val) { }
f(B);

Pavel
18.03.2018
20:20:11
Функция в качестве атрибута? Ну, надо пробовать, но почему бы и нет

Dark
18.03.2018
20:23:10
enum без префикса иак сказать

Pavel
18.03.2018
20:24:09
Без префикса @ ?

Dark
18.03.2018
20:25:32
Не

Google

Dark
18.03.2018
20:25:54
Если мы хотим обратится к еекоторому енуму
Точнее
К его значению
Нам надо приписать имя enum'a
A.B
A естественно enum
А я хочу только B

Pavel
18.03.2018
20:29:57
яннп

Dark
18.03.2018
20:34:46
enum A { B, C }
void func(A val) { }
func(A.B); // Работает
func(B); // Неа

Pavel
18.03.2018
20:37:36
Ну да
Откуда же он поймет что за символ B

Dark
18.03.2018
20:37:53
Жаль

Pavel
18.03.2018
20:38:09
Можешь сделать алиас
alias A.B B

Dark
18.03.2018
20:38:52
О, точно
Можно ещё миксин написать
Метапрограммирование в действии
А если универсальный
То и интроинспеция

Pavel
18.03.2018
20:45:00
Да, еще наверное можешь сделать глобальную переменную B и внее положить значение A.B :) И везде ее использовать

Dark
18.03.2018
20:45:41
О

Google

Dark
18.03.2018
20:46:21
D это фунциональщина, метапрограммирование и интроинспекция

Pavel
18.03.2018
20:46:26
Причем иммутабельную переменную. А если пустить в ход то же метапрограммирование то можно так обойти все элементы енума и для каждого породить переменную.

Dark
18.03.2018
20:46:43
Он будет подставлен в рантайме
Т.е. у него нулевая цена

Pavel
18.03.2018
20:47:28
Мне думается что все эти варианты дешевые и все будут подставлены в compile-time

Dark
18.03.2018
20:47:39

Evgeny
18.03.2018
21:24:53

Admin
ERROR: S client not available

Dark
18.03.2018
21:25:44

Evgeny
18.03.2018
21:26:00
func(B);

Dark
18.03.2018
21:26:39
Объявить её, я имел ввиду

Evgeny
18.03.2018
21:31:49
void func(typeof(B) b);
а можно сделать миксин, который будет брать любой энум и алиасить его элементы в текущий контекст:
template anonymizeEnum(T) if(is(T == enum)) {
static foreach(e; __traits(allMembers, T)) {
mixin("alias " ~ e ~ " = T." ~ e ~ ";");
}
}
enum A { b, c };
mixin anonymizeEnum!A;
static assert(is(typeof(b) == A));
static assert(A.b == b);
static assert(A.c == c);
https://glot.io/snippets/ezalqvhf95

Denis
19.03.2018
05:06:43

Dark
19.03.2018
05:11:11

Google

Denis
19.03.2018
05:24:07
странные утебя желания

Evgeny
19.03.2018
09:42:02

Pavel
19.03.2018
10:17:49
Может там у него енум через 4 шаблона в 2 строки называется)
Вот у парня бомбит https://forum.dlang.org/post/mailman.1157.1521347155.3374.digitalmars-d@puremagic.com

Igor
19.03.2018
12:16:02
омг
четыре страницы свежего срача

Pavel
19.03.2018
12:23:33
Ящитаю что на деньги фонда надо посадить Уолтера или Андрея фиксить все многолетние баги из трекера

Dark
19.03.2018
12:25:08
+

Stanislav
19.03.2018
12:25:28
Собранных денег хватит на 1-2 недели )

Igor
19.03.2018
12:25:47
если только им деньги нужны настолько что фиксить старые баги будет интереснее чем делать новые фичи

Dark
19.03.2018
12:26:07

Stanislav
19.03.2018
12:26:39
Работы конеш

elias
19.03.2018
12:33:39
а они женаты?

Oleg
19.03.2018
12:35:16

Pavel
19.03.2018
12:36:18
Создатели D видимо )
Но мне кажется что у них с work-life balance все в порядке, на форуме они особо не зависают

Oleg
19.03.2018
12:40:51
дичь вкидываете тут)))

Stanislav
19.03.2018
12:42:40

Pavel
19.03.2018
12:43:28
Да то что он описал, я думаю у каждого возникало это чувство. Когда пишешь пишешь код а потом оказывается что какие-то очевидные вещи сломаны и не работают.

Evgeny
19.03.2018
13:13:49

Pavel
19.03.2018
13:22:02
Ничоси, тогда неудивительно что он так расстроен