
Pavel
21.05.2018
14:26:25
У объекта нет значения, это объект. Его данные лежат начиная с его адреса в памяти.
Адрес ты получил
Далее если ты хочешь какое-то гипотетические "значение" скастуй его к адресу инта или лонга или чего хочешь
И тогда уже забирай

Google

Stanislav
21.05.2018
14:34:57
выше

White_116
21.05.2018
14:35:00
&tts.tt[12] тут получаем адрес где лежит указатель на класс
tts.tt[12] нужно получить указать класса и сравнить его просто с 1

Dark
21.05.2018
14:35:10
Пропустил

Pavel
21.05.2018
14:40:24

White_116
21.05.2018
14:42:54
хм, мазахизм, то что нужно.

Stanislav
21.05.2018
14:48:38
а какой сакральный смысл несёт эта проверка? :)

White_116
21.05.2018
14:51:45
изначально там в программе лежит переменная состояния int(0 - 1), чтобы не создавать новый пул я сую туда указатель своего класса.
одна переменная, 2 роли.

Pavel
21.05.2018
15:29:25
Все это попахивает каким-то адским говнокодом, простите

Pavel
21.05.2018
17:31:04

Ievgenii
21.05.2018
17:32:53
)))
Мне тоже нравится

Google

Pavel
21.05.2018
17:33:55
если бы то же самое, но со скобочками... при том, что я бывший паскалист.

Oleg
21.05.2018
17:47:41
мне тоже нравится, особенно что-нибудь вроде data.filter!(....).map!(....).each!writeln;

Pavel
21.05.2018
17:51:52
омг. и думай потом, кто на ком стоял

Denis
21.05.2018
17:55:11

Ievgenii
21.05.2018
18:15:59

Dmitry
22.05.2018
09:33:56

Maxim
22.05.2018
09:34:28
но это не точно (с)

Dark
22.05.2018
10:31:55

Denis
22.05.2018
19:03:49
Vibe getResult блокирует остальные треды?
столкнулся с какими-то периодичными 30-секундными зависаниями
Blocks until the task has ended. - имеется ввиду блокировка остальных тредов тоже? вот в чём вопрос
Спросил тут: https://forum.dlang.org/post/lxtxsaifagbfifauqrug@forum.dlang.org

Igor
22.05.2018
20:04:14
Ну по смвслу блокирует только вызвашего

Denis
22.05.2018
20:30:38
Да тоже так думаю, иначе просто бессмысленный простой получался бы - yield не просто так делается же, а когда уже нечего делать
короче, где-то наш сайт на vibe.d лочится на 1-5 секунд
как дебажить хз

Ievgenii
22.05.2018
22:15:54
Мда
Нужно хоронить вайб и делать свой велосипед

Pavel
22.05.2018
22:42:11
Поддерживаю! Остановим бессильный тоталитаризм вайба!

Igor
22.05.2018
23:05:26
100%

Google

Denis
22.05.2018
23:15:50
хз щас я попробую кое что ещё - может вайб и не виноват
вынесу подозрительную операцию в честный отдельный тред

Igor
23.05.2018
01:24:28
ну по идее если зависает всё на 5 секунд то можно в этот момент подключиться по strace и посмотреть в каком сисколле всё висит (если висит в сисколле)

Denis
23.05.2018
01:24:48
по strace ?
А я gdb юзаю

Igor
23.05.2018
01:25:18
ну gdb просто всё останавливает
правда можно посмотреть где какой тред висит

Denis
23.05.2018
01:26:03
т.е. запустить код как
$ strace <бинарник>
?

Igor
23.05.2018
01:26:32
запустить процесс, посмотреть его pid
когда подвиснет в консоли подключиться: strace -f -p PID

Denis
23.05.2018
01:32:08
оно подвисает на 2-3 секунды, не успею. но через strace запустил и увидел кое-что вроде
ща
победил vibe.d - оказалось что одна из функций таки блокирующая, нашёл её и стало все идеально

Dmitry
23.05.2018
14:06:08
а какая?

Denis
23.05.2018
14:07:46
из requests, ему надо было сказать чтобы он использовал подсистему vibe.d
по дефолту он std юзает

Valeriy
23.05.2018
14:26:40
Как использовать шаблонные параметры по умолчнию, что бы они сами выводились?
Вот пример:
import std.stdio;
struct A(string arg = "@")
{
string get() const {return arg;}
}
void main()
{
A!"%"().get().writeln;
A!()().get().writeln;
// A().get().writeln; // <-- doesn't work
}
Хочу вместо
A!()(); просто A();
https://run.dlang.io/is/2A2fJ0

Google

Denis
23.05.2018
14:30:48
https://run.dlang.io/is/V8C4no
просто A() это будет что? у типов структур не бывает параметров кроме шаблонных

Valeriy
23.05.2018
14:34:36
Просто A() — это просто создание объекта структуры с вызовом конструктора по умолчанию
И вот хотелось бы, что бы шаблонный параметр сам вывелся, раз он задан по умолчанию
Ну то есть я хотел бы что бы вызывающий код мог использовать мою структуру так, как он использовал бы её, если бы у неё вообще не было шаблонных параметров.
А при необходимости можно было специфицировать шаблонным параметром.

Denis
23.05.2018
14:39:28
Попробуй переменную так создать а уже у нее get вызвать

Valeriy
23.05.2018
14:43:31
Так работает:
A!"*" a;
a.get.writeln;
Так работает:
A!() a;
a.get.writeln;
А так нет:
A a;
a.get.writeln;
Хотелось расширить шаблонным параметром и не ломать старый код...

Dmitry
23.05.2018
14:56:00
Если в Ди writeln это шаблон, то в том же Го как сдалано?

Valeriy
23.05.2018
14:57:03

Dark
23.05.2018
15:03:33

Denis
23.05.2018
15:09:29

Valeriy
23.05.2018
15:10:29
Алиас сделайте
Вот тоже начал в эту сторону смотреть. Пока чёт не придумаю как

Denis
23.05.2018
15:11:46
alias A = TStruct!"@";

Valeriy
23.05.2018
15:12:30
Имя меняется
Ну то есть использование с шаблоном уже будет иметь другое имя
А вот так не работает :(
alias A = A!"@"
И так тоже
struct A(alias arg = "@") {...

Dmitry
23.05.2018
15:14:28

Google

Denis
23.05.2018
16:14:32
А как грамотно сделать такую штуку: из vibe.d запросом юзер может начать некий процесс на сервере.. Нужно сделать так чтобы он не прервался даже если юзер отключится
задача явно типовая
а да, и ещё этот процесс сам по себе может упасть, например
и ещё он должен назад инфу скидовать о прогрессе
очень не хочу велосипед

Oleg
23.05.2018
16:57:10

Valeriy
23.05.2018
17:29:33
Тогда в коде новое имя будет отличаться от старого.
Я надеялся, что есть способ перегрузить структуру шаблоном.
Но похоже придется так делать

Denis
23.05.2018
17:32:52
так лучше чем твоя идея
потому что шаблон это другая структура, с другими свойствами, и название у неё другое будет

Pavel
23.05.2018
17:33:48
Тем временем в стиме анрил голд раздают.

Pavel
23.05.2018
17:35:50
А там получаешь fd in out err и следишь за ними

Denis
23.05.2018
17:35:59
да это понятно
надо чтобы без велосипединга. и например если стартовать процесс будет на другом сервере?

Dmitry
23.05.2018
18:24:21

Denis
23.05.2018
18:41:55
поотключал всё лишнее
упёрлось что тормоза случаются только при исходящих событиях

Dmitry
23.05.2018
18:45:05
Я кстати тут с Ольшанским поговорил. Тот говорит что из фобос нужно выкинуть все кроме алгоритмом. Типа все либы тормозят прогресс. В чем то он прав.