@dlangru

Страница 577 из 719
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
выше
А ля

Пропустил

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
Ненадо этого делать потому что адрес класса может меняться GC
С нынешней реализацией GC - не может. И вряд ли когда-нибудь будет.

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

Dark
22.05.2018
10:31:55
мне тоже нравится, особенно что-нибудь вроде data.filter!(....).map!(....).each!writeln;
Чейны - круто, а врайтлайн чейнить - ну как то нет

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
хз щас я попробую кое что ещё - может вайб и не виноват

вынесу подозрительную операцию в честный отдельный тред

Поддерживаю! Остановим бессильный тоталитаризм вайба!
альтернатива - китайский колли который вообще непонятен (мне)

вынесу подозрительную операцию в честный отдельный тред
естественно всё валится потому что переменные-то - не shared

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 это шаблон, то в том же Го как сдалано?

Dark
23.05.2018
15:03:33
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
Скорее всего, в Go нет writeln)
ну принт или его аналог

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

задача явно типовая

а да, и ещё этот процесс сам по себе может упасть, например

и ещё он должен назад инфу скидовать о прогрессе

очень не хочу велосипед

Oleg
23.05.2018
16:57:10
А вот так не работает :( alias A = A!"@"
так alias назвать старым именем, а структуру новым

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

Denis
23.05.2018
17:32:52
так лучше чем твоя идея

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

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

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
Я кстати тут с Ольшанским поговорил. Тот говорит что из фобос нужно выкинуть все кроме алгоритмом. Типа все либы тормозят прогресс. В чем то он прав.

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