
Pavel
17.05.2018
14:23:09
там ещё и у самого enum хитрая семантика

Pavel
17.05.2018
14:23:57
https://forum.dlang.org/thread/xiygsswltifbwqezslzd@forum.dlang.org вот, енумы в compile time занимают важное место

Alexander
17.05.2018
14:24:35
это другие енумы
спасибо зоопарку ключевых слов

Google

Denis
17.05.2018
14:27:15

Pavel
17.05.2018
14:27:53

Alexander
17.05.2018
14:28:16
просто имя дай енуму, что ж ты мучаешься

Pavel
17.05.2018
14:28:47
Да не могу ему дать, он же из module core.sys.linux.epoll;

Stanislav
17.05.2018
14:28:55
+, это же просто константы получается

Denis
17.05.2018
14:29:08

Pavel
17.05.2018
14:29:14
Вообще скорее всего эти енумные константы сделаны для того чтобы Д был максимально похож на си
Там сотни констант, и придумывать на каждый енум имя было бы непросто )

Denis
17.05.2018
14:29:47

Alexander
17.05.2018
14:34:39
там import резолвит по имени модуля?
или только относительный путь?

Denis
17.05.2018
14:36:27
(в РФ заблочили WhatsUp)

Google

Stanislav
17.05.2018
14:36:38
уже разлочили

Denis
17.05.2018
14:37:19

Stanislav
17.05.2018
14:38:12
скажут типа операторы плохие ! мы непричем

Denis
17.05.2018
14:38:23
Вчера заблочили cdn по работе нужный, у меня вагрантомашины поломались
Они что-то оттуда качали

Pavel
17.05.2018
14:40:31
template CheckEpollEvent(string event)
{
const char[] CheckEpollEvent =
`if (event.events & ` ~ event ~ `) {` ~
`logWarn("Event: ` ~ event ~ `");` ~
`}`;
}
static foreach (flag; [
"EPOLLIN", "EPOLLPRI", "EPOLLOUT"]) {
mixin(CheckEpollEvent!flag);
}
вот, сделяль

Stanislav
17.05.2018
14:40:35
да тут уже все прокси расчехляют офисные. у кого-то npm работает через раз, у кого-то gopkg
там всего то 3 енума

Pavel
17.05.2018
14:46:15
Не, там 13 енумов
Щас проверю работает ли в CT если обернуть в именованный енум

Alexander
17.05.2018
14:52:57
а лол, твоё же и скинул
https://run.dlang.io/is/ghJiRk

Pavel
17.05.2018
14:54:08
Хаха неплохо, даже не знал что можно взять все мемберы из модуля )

Alexander
17.05.2018
14:54:40
а вообще скорее всего то что ты хочешь тоже ненужно )
что пишешь?

Pavel
17.05.2018
14:55:28
Мне приходит int с выставленными флагами оттуда, мне нужно проверить какие флаги выставлены и распечатать их
Можно конечно распечатать просто числа, но это непонятно, хочется именно имена констант из этого енума

Igor
17.05.2018
14:58:30
ну я в конце концов сделал хешмап из интовых инумов в строки, сдался

Google

Alexander
17.05.2018
14:59:16
да просто свич и збс

Dmitry
17.05.2018
15:46:38
Объясните чем RPC отличается от передачи данных между двумя приложениями?
По факту удаленный вызов процедур это же вроде тоже самое или нет?
Сейчас цитату кину:
">Скажи, а две проги могут сообщения друг другу через gRPC слать?
»Ну как шина данных чтобы эта штука работала. не надо так. ненадёжно

Igor
17.05.2018
15:51:15
ну не только. авторизация, ексепшны, протокол для данных…

Pavel
17.05.2018
16:23:29
RPC - частный случай IPC

Dark
17.05.2018
16:47:00

Pavel
17.05.2018
16:48:46
Потому что в трейте нужно указать имя енума, а его не существует

Dark
17.05.2018
16:49:18

Pavel
17.05.2018
16:50:57
Не. Короче я сделал через свой миксин
По другому в betterC никак не работает
Даже с именованным енумом.

Denis
17.05.2018
18:11:37
https://run.dlang.io/is/rGDucn
у кого есть идеи?
если switch заменить на if то всё работает

Filio
17.05.2018
18:17:44
а если так?
https://run.dlang.io/is/yAqUoN
или так:
https://run.dlang.io/is/EGBiMo

Dark
17.05.2018
18:42:19
Кстати
Есть @rextester_bot
И там есть D

Denis
17.05.2018
18:45:01
ой

Google

Denis
17.05.2018
18:45:06
но толку то
вроде код как код, 100 раз так делал, кажется

Dark
17.05.2018
18:49:47
Language:
d
Source:
import std.stdio;
void main() {
writeln("Hello world!");
}
Result:
Hello world!
run.dlang.io ненужон

Filio
17.05.2018
19:04:36
а причину можешь пояснить?
вот чего не могу, того не могу - я не настоящий сварщик. я лишь попробовал буквально интерпретировать сообщение об ошибке, которое было выдано при попытке запуска твоего кода, и перенёс формальное объявление констуктора выше labels, которые внутри switch'а.

Denis
17.05.2018
19:16:20
я думал labels это которые в goto

Dark
17.05.2018
19:26:02
https://dlang.org/spec/class.html#constructors
Смотри 9.3
"3. Delegate constructor calls cannot appear after labels."

Denis
17.05.2018
19:30:55
и, главное, почему? давно такое ввели?

Alexander
17.05.2018
19:32:02
выглядит как временное ограничение

Denis
17.05.2018
19:32:05
вроде раньше юзал такое, года 2 назад

Dark
17.05.2018
19:32:14

Denis
17.05.2018
19:32:18
а щас - хрен

Dark
17.05.2018
19:32:39
Попробуй написать на форуме

Alexander
17.05.2018
19:35:24
https://run.dlang.io/is/8amVx5

Google

Alexander
17.05.2018
19:35:32
в функцию завернёшь и скомпилится
так что явно в компилере кто-то воркэраунд сделал

Dark
17.05.2018
19:37:53
Интересно, что при обычном свитче какая то странная ошибка
https://run.dlang.io/is/QpeIPd

Denis
17.05.2018
19:38:36
конструктор это же просто функция, а лэйбл это просто джамп внутри кода

Dark
17.05.2018
19:39:11

Denis
17.05.2018
19:39:19
ну да
и со всякими goto
это просто безусловный переход

Dark
17.05.2018
19:39:40
Видимо, такая защита от двойной инициализации
Если можно continue case ..., то такое вполне оправдано
Но такого я в доке не нашел

Denis
17.05.2018
19:41:46

Dark
17.05.2018
19:41:52
Все страньше и страньше

Denis
17.05.2018
19:42:02
спроси на форуме?

Dark
17.05.2018
19:42:08

Denis
17.05.2018
19:42:19
https://pp.userapi.com/c844618/v844618675/570c1/Ve5ArE71B-A.jpg

Dark
17.05.2018
19:42:26
Для структур тоже самое