@dlangru

Страница 467 из 719
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
помечать сущности метаданными, а потом на основании метаданных как-то обрабатывать сущности.
Например, так: struct forJson { @("optional") string value; int type; } auto json = deserealize!forJson(jsonText); }

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

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
Функция в качестве атрибута? Ну, надо пробовать, но почему бы и нет

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
Причем иммутабельную переменную. А если пустить в ход то же метапрограммирование то можно так обойти все элементы енума и для каждого породить переменную.

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

Dark
18.03.2018
20:47:39
D это фунциональщина, метапрограммирование и интроинспекция
На манер "ООП - полиморфизм, наследование и инкапсуляция"

Evgeny
18.03.2018
21:24:53
enum A { B, C } void func(A val) { } func(A.B); // Работает func(B); // Неа
можно анонимный enum сделать enum {B, C};

Admin
ERROR: S client not available

Dark
18.03.2018
21:25:44
можно анонимный enum сделать enum {B, C};
В func его тогда как передать?

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

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

func(B);
void func(?)?

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

Dark
19.03.2018
05:11:11
with же есть для этого
Не совсем то, Евгений написал то, что мне нужно

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
Создатели D видимо )
как минимум на вики у Александреску указана жена Сандра

дичь вкидываете тут)))

Stanislav
19.03.2018
12:42:40
Вот у парня бомбит https://forum.dlang.org/post/mailman.1157.1521347155.3374.digitalmars-d@puremagic.com
Там кстати не только у него. В треде есть какие то ещё cto of medical software company )))

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

Evgeny
19.03.2018
13:13:49
Вот у парня бомбит https://forum.dlang.org/post/mailman.1157.1521347155.3374.digitalmars-d@puremagic.com
Это парень не простой, это Ману Эванс. Товарищ успешно пропихнувший D в игру AAA-класса ( Quantum Break от Remedy). Вот его доклад на эту тему https://www.youtube.com/watch?v=FKceA691Wcg Потом он уволился из Remedy и, к сожалению, как-то пропал с дишного горизонта. В общем, чувак известный D-олдфагам.

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

Страница 467 из 719