@dlangru

Страница 182 из 719
Denis
01.06.2017
15:13:42
зато Пол Ален самый большой самолёт в мире выкатил

он кодер из микрософт времён ДОС

Denis
01.06.2017
15:15:44
Аллен и Гейтс взялись за эту работу, однако не стали разрабатывать новую операционную систему с нуля. Они знали, что Тим Патерсон, работавший в Seattle Compute Products, уже создал Q-DOS[2] для 16-разрядных процессоров Intel. В ходе переговоров о приобретении Q-DOS требовалось не дать понять продавцам, что у Аллена и Гейтса уже есть покупатель на эту систему; Гейтсу, как основному переговорщику, это удалось. Но даже в этом случае систему пришлось подвергнуть переработке. Стремясь уложиться в срок, Аллен и Гейтс работали так, что однажды, по утверждению самого Аллена, просидели за компьютером 36 часов подряд.

Google
Maxim
01.06.2017
16:20:06
короче, скомпилировал я борландом 3.1, в досбоксе запустил — вообще ни на что не реагирует)

сейчас в freedos попробую)

в общем, не взлетело)

Denis
01.06.2017
16:25:57
Поищи готовые исходники и срвни со своими

наверняка какая-то мелочь забыта

Задача типовая

u13147
01.06.2017
17:12:56
Да я и так делал из готового исходника.

Есть куча примеров на асме, но я его понимаю слабо.

u13147
01.06.2017
17:28:39
https://pastebin.com/z203N7Z0

Кстати, в досе есть системная функция для проверки состояния Ctrl + Break. Можно было бы использовать её, но в задании прямо указан способ решения.

Google
Dmitry
01.06.2017
17:42:45
Пример похож, но делает замену вектора прямым доступом к памяти, остается открытым вопрос верно ли вызывается intdosx

u13147
01.06.2017
18:26:05
Ну intdosx вроде отрабатывает. По крайней мере, смещение меняется точно.

Dmitry
02.06.2017
11:29:30
А в доках что убрали кликабельный список методов для классов? https://dlang.org/phobos/std_datetime.html раньше вроде всегда над каждым классом был

А не, это JS тупит

у меня старица с таймаутом скрипта кстати часто зависает после загрузки

Я правильно помню, что если в функцию хочу передавать неизвестное количество аргументов я могу написать int foo(int x, ....) { }

Maxim
02.06.2017
12:26:49
int foo(int x, ...) { }

Dmitry
02.06.2017
12:27:10
и могу вообще любой параметры туда передать?

Maxim
02.06.2017
12:27:30
да

Dmitry
02.06.2017
12:29:03
у данных которые я туда передам внутрии foo будет тоже самое имя?

Maxim
02.06.2017
12:29:18
нет)

https://dlang.org/spec/function.html#d_style_variadic_functions тут подробности

Dmitry
02.06.2017
12:30:31
Лучше уж без сишных вараргов)

Maxim
02.06.2017
12:31:58
ну вообще, зачастую, если вдруг понадобилась функция с неопределенным количеством разнородных аргументов, первым вопросом должен быть не «как это сделать?», а «все ли нормально с архитектурой моего приложения?»)

Maxim
02.06.2017
12:41:24
наверное, единственное, что такой подход упрощает — это как раз форматированный вывод, особенно, если требуется локализация текста)

в остальном это небезопасный, негибкий и неочевидный подход)

Dmitry
02.06.2017
12:43:52
Упрощу ситуацию. Мне нужно иметь возможность передать в функцию значение. Но есть один случай, когда у меня нет значения которое я хотел туда передать т.е. надо передавать какую-то пустышку. Если функция объявлена как foo(int x=0), то дефолтное значение будет нулем, но мне хотелось чтобы оно было null т.е. я мог бы определить было ли что-то передано в функцию или нет. Я пробовал foo(int Nullable!x) но оно не дает скомпилировать такой вариант

Maxim
02.06.2017
12:44:37
если в функцию нечего передавать, зачем тогда вообще что-то передавать?)

Google
Maxim
02.06.2017
12:44:48
«все ли нормально с архитектурой моего приложения?»)

Maxim
02.06.2017
12:45:49
пять дней в неделю мне нужно, чтобы будильник звонил в 6 утра, и я вставал на работу, а в выходные мне на работу не надо, поэтому я хочу, чтобы будильник звонил в соседней комнате, и я его не слышал)

Dmitry
02.06.2017
12:45:52
@maxfreck там в реале два аргумента. Первый всегда есть

Dmitry спасибо, я что-то не там Nullable ставил

Maxim
02.06.2017
12:46:40
ну тогда Nullable вполне подойдет

qwerty
02.06.2017
12:47:28
Предлагаю закрепить это сообщение)

пять дней в неделю мне нужно, чтобы будильник звонил в 6 утра, и я вставал на работу, а в выходные мне на работу не надо, поэтому я хочу, чтобы будильник звонил в соседней комнате, и я его не слышал)

Dmitry
02.06.2017
12:51:56


вызываю так: doSQLRequest(sql, null);

std.typecons.Nullable пишу т.к. иначе конфиликт имен с Nullable из зрайвера БД

Maxim
02.06.2017
13:00:55
кстати, как насчет такого: перегрузить функции, сделать экземпляр с двумя параметрами и с одним параметром, и из той, что с двумя, вызывать ту, что с одним, а со вторым параметром делать, что нужно?)

Maxim
02.06.2017
13:01:10
так, в принципе, без всяких Nullable обойтись можно

Dmitry
02.06.2017
13:02:20
ну по идее можно и так...

А как правильнее сделать. Есть массив структур которые я заполняю. MyTrack mytrack; MyTrack [] mytracks; Json calc() { foo1(); // внутри каждой foo мы заполняем mytracks foo2(); // внутри каждой foo мы заполняем mytracks return mytracks.serializeToJson(); // потом отдаем что заполнили } При каждом вызове foo у нас в mytracks будут записываться все новые и новые данные т.к. mytracks не будет пересоздаваться. Как лучше сделать?

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

Вот полный код. Не могли бы глянуть на сколько это говнокод. https://gist.github.com/bubnenkoff/9e8938bc17a32c5f99b4bb2aef6d3476 особенно строка 57 интересует т.к. лучше варианта как обнулять структуру я не нашел

Denis
02.06.2017
14:09:32
Лучше уж без сишных вараргов)
это не сишные - это лучше

ты там не структуру обнуляешь, а массив. лучше ему length=0 делать

память более лучше используется (имхо)

Google
Dmitry
02.06.2017
14:13:56
но в остальном это не похоже на костыль? Может как-то иначе нужно было дизайн делать?

Denis
02.06.2017
14:14:06
я только на одну строку посмотрел

/me ушел на 3 часа

Dmitry
02.06.2017
14:52:36
@ahdenchik пишут что длинну менять плохой вариатнт: // Will reuse the array, overwriting existing data. // If other parts of the program are using existing data // in the array, this will lead to hard-to-track-down bugs. mytracks.length = 0;

А можно ли ли через uniq обработать массив структур и выбрать только уникальные. Функция отработала, но когда я пытаюсь посмотреть размер результата, она пишет: Error: no property 'length' for type 'UniqResult!(binaryFun, MyTrack[])' и не понятно что дальше с ней делать. Оно офильтровало дубляжи? И как это привести результат снова к типу массива структур?

Dmitry
02.06.2017
15:05:42
.array

И прежде чем вызывать uniq массив должен быть отсортирован по тому признаку на который делается uniq

Dmitry
02.06.2017
15:07:41
спасибо, а не мог бы код еще выше глянуть что я ни gist постил, хотя бы бегло

Dmitry
02.06.2017
18:54:05
@ahdenchik речь про многопочность или как данные могут повредиться? Просто не очень реальный кейс представляю

Admin
ERROR: S client not available

Denis
02.06.2017
18:54:54
Не повредиться, а сам код затупит

Dmitry
03.06.2017
10:05:42
э... не мог бы пояснить что значит затупит?

Denis
03.06.2017
12:44:29
неээффективно работать будет в некоторых случаях

то что там баги могут всплыть это уже кривизна кода

я даже задумался над этим

пара мест у меня таких была как-то

Dmitry
04.06.2017
12:17:01
Такой вопрос про шаблоны. Как я понимаю они позволяют делать обобщения для типов с которыми можно работать схожим образом. Но можно ли внутри шаблона принимать решение что если в него был передан float вместо int то часть логики внутри него должна работать иначе?

Или вся логика должна быть в рамках поддерживаемых типов?

Pavel
04.06.2017
12:22:34
Попробуй подсунуть static if, может помочь в решении твоей задачи.

Google
Dmitry
04.06.2017
12:23:21
Я пока просто стараюсь тему глубже вкурить...

Dmitry
04.06.2017
12:25:51
@chebotarevp не мог бы глянуть код выше, просто у меня тут на работе срач по поводу того как я пишу код. Типа абстракции не юзаю.

Pavel
04.06.2017
12:27:33
Глянул, код как код. Чтобы вводить абстракции, надо глубже в предметную область залезть.

Разве что можно там 4 почти одинаковые функции как-то параметризовать более компактно.

Dmitry
04.06.2017
12:29:17
Хорошо, могу еще один момент тебе показать? А то у меня в четверг просто срач был дикий который мне чуть ли не увольнением сулит. Просто смог бы ли ты следующий код более коротко записать и на сколько это вообще было бы целесообразно.

один момент щас пример кину.

https://gist.github.com/bubnenkoff/8269c4682633d62391cc3ef7824a4675

Dmitry
04.06.2017
13:39:38
Ну есть конторы..)) Я и в Роскосмосе на нем писал..))

Denis
04.06.2017
13:40:00
Ну тут такое дело - вместо этих присвоейний можно вообще ничег оне писать

если они по разу читаются то прям ini["mysql-remote-history"].getKey("dbuser"); и оставить, только обернув в какую-то укороченную ссылку

Или написать enum со списокм всех этих переменных и в цикле пройтись по нему собрав все данные из ini в переменные с соответствующими названиями

тоже в traits есть такая штука чтоб по enum пробегать

Shorty(Ale Chapa) Manskiy
04.06.2017
13:43:07
Dmitry
04.06.2017
13:43:23
Name/user/password/host/port напрашиваются в структуру

И таких будет 3

Denis
04.06.2017
13:44:11
Космонавт в треде!

Вообще не надо их читать - читайте по месту, где понадобятся

чтобы случайно не изменить пусть ini будет const

Dmitry
04.06.2017
13:48:25
Dmitry ну да, вариант со структурой оказался самым разумным

Pavel
04.06.2017
13:54:02
Жаль там нельзя комментарии к строкам вписывать

Тебе надо публиковать исходники в репозитории на гитхабе в виде пулл реквеста чтобы все желающие могли ревьюить )

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