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
Admin
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
Попробуй написать на форуме
Google
Alexander
17.05.2018
19:35:24
https://run.dlang.io/is/8amVx5
в функцию завернёшь и скомпилится
так что явно в компилере кто-то воркэраунд сделал
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
Для структур тоже самое