D - это многопарадигмальный системный язык программирования, разработанный Уолтером Брайтом, а с 2006 года - Андреем Александреску. Теперь D - это сотрудничество с открытым исходным кодом.
1 ответ

Невозможно определить тип ассоциативного массива: opEquals не существует

Я не могу использовать непримитивные типы в качестве ключей для ассоциативных массивов; попытка сделать это приведет к следующей ошибке в строке, где я определяю AA: Error: AA key type MyString does not have 'bool opEquals(ref const MyString) const …
16 янв '15 в 00:02
2 ответа

Своеобразное поведение writef/writefln?

Итак, я смотрю на D около 15 минут, поэтому неудивительно, что у меня есть вопросы, но что-то странное происходит со мной. Я установил D отсюда и Visual D отсюда, и я запускаю все в Visual Studio 2010 Professional. Примеры D компилируются и запускаю…
03 янв '12 в 00:03
1 ответ

Можете ли вы сослаться на именованное перечисление, как если бы оно было анонимным в D?

Я делаю D-мост к библиотеке C, и он придумал код C, использующий перечисления typedef, которые он называет константой, но может назвать его для аргументов функции и тому подобного. Пример: enum someLongNameThatTheCLibraryUses { A, B, } В настоящее в…
19 авг '09 в 17:47
1 ответ

Встроенный сборочный эквивалент директивы.data MASM

Мне любопытно, что эквивалент (например) .data x dword 42 .code main proc ; Do stuff here. ret main endp end было бы, если бы я писал встроенную сборку (в D). Я понимаю, что мог сделать что-то вроде int main() { int x = 42; asm { // Do stuff here. }…
04 авг '13 в 03:24
0 ответов

Отладчик D (как Mago, так и cv2pdb) не вступает в предложения catch

Я использую D в Visual Studio 2013 с Visual-D. Я не могу заставить ни отладчик войти в предложение catch оператора try-catch, ни установить точку останова в предложении catch. Это ожидаемое поведение и не поддерживается, или я делаю что-то сумасшедш…
11 июл '15 в 18:14
3 ответа

Переключатель cas Альтернатива в D

У меня следующая проблема. В консоль ввода я могу ввести строку, и система будет действовать исходя из этого. Так что, если я введу add_2_with_2, это даст мне 4, если я введу sqrt_4, это даст мне 2 и т. Д. Обычно, вы будете делать это с помощью кома…
02 ноя '13 в 18:47
1 ответ

Как перевести делегата на абсолютный адрес в DRAM?

Я хотел бы перевести членов делегата .ptr а также .funcptr по абсолютному адресу, который соответствует чему-то в исполняемом образе в DRAM. Цель состоит не в том, чтобы вызывать или изменять, а в том, чтобы позволить цели разбирать себя во время вы…
10 ноя '15 в 12:50
1 ответ

Правильно перегружаем opIndexAssign

Из справочника по языку D opIndexAssign имеет подпись: type opIndexAssign(type value, size_t index0, ...); Каково будет значение возвращаемого значения, поскольку в нем говорится, что такие утверждения, как: Class[1, 3] = 5; эквивалентно: Class.opIn…
03 ноя '15 в 15:24
1 ответ

Выровняйте форму по вектору, используя Dgame Framework и язык D

Я использовал Dgame Framework для простого моделирования. Мне нужно, чтобы движущийся объект был выровнен по их векторам скорости. Как это можно сделать с помощью Dgame? Я вижу, что объект формы имеет setRotation и setRotationCenter. Не уверен, как …
13 июл '15 в 16:33
2 ответа

D Строковые литералы Unicode: не может печатать определенный символ Unicode

Я просто пытаюсь забрать D, пришедший из C++. Я уверен, что это что-то очень простое, но я не могу найти какую-либо документацию, чтобы помочь мне. Я пытаюсь напечатать символ а, который является U+00E0. Я пытаюсь присвоить этот символ переменной, а…
23 ноя '18 в 17:28
3 ответа

Ошибка: нарушение диапазона в программировании D

У меня есть динамический массив в структуре и метод, который использует динамический массив. Проблема в том, что я получаю ошибку нарушения диапазона при запуске программы. Однако, когда я создаю новый динамический массив внутри метода, он работает …
03 дек '10 в 00:38
1 ответ

Разбивая строку на слова, используя язык D

Я новичок в использовании D, и я хотел попросить помощи в простом методе разбиения строки на слова. Моя программа берет текст из файла и должна подсчитать количество слов в этом тексте.
05 ноя '16 в 03:42
1 ответ

Привязки gobject/gnome/glib для D с использованием GIR?

Кто-нибудь знает, есть ли привязки для семейства библиотек gobject (glib, Gnome, clutter и т. Д.), Доступные для языка D, который использует механизм самоанализа GIR? Я хотел бы написать приложение для GTK 3 и Clutter. К сожалению, я не могу их найт…
02 июн '11 в 23:09
0 ответов

Как правильно установить параметры сокета на std.net.curl?

Я пытаюсь реализовать onSocketOption делегировать для объекта HTTP Curl ( http://erdani.com/d/phobos-prerelease/std_net_curl.html). int onSocketOption(curl_socket_t socketfd, CurlSockType type) { import std.socket:Socket, SocketOptionLevel, SocketOp…
11 дек '15 в 08:02
1 ответ

Ошибка компоновщика: неопределенная ссылка на `internal'

Я пишу приложение на D, которое взаимодействует с OpenGL и несколькими другими собственными библиотеками (используя библиотеки Derelict). Однако эта ошибка, похоже, не имеет к этому никакого отношения. Всякий раз, когда я делаю "dub build", компиляц…
09 окт '16 в 22:55
2 ответа

Собирает ли функция чистого и nothrow, которая не передает память, автоматически мусор?

Предположим, у вас есть функция в D, которая pure а также nothrow и его тип возвращаемого значения и типы аргумента не могут пропускать никакую вновь выделенную память. Могу ли я добавить @nogc приписать этой функции тогда? Если нет, есть ли вероятн…
22 дек '15 в 23:38
2 ответа

Понимание шаблонов в D

Я учу себя "D", и у меня возник, что может показаться основным для некоторых, вопрос относительно шаблонов. Например, статья, которую я сейчас читаю (см. Нижнюю часть этого поста), содержит следующий код: int foo(int x) { return x; } string foo(stri…
22 июл '16 в 03:57
2 ответа

Проверьте, содержит ли массив элемент в D

Для ассоциативных массивов мы можем написать if( elem in array) { .. } что мы пишем для простого массива? Я хочу написать подтверждение, например enforce(input in [10,20,40]);
02 июн '14 в 12:01
1 ответ

Язык D: Возвращает только что созданный ассоциативный массив

В фабричной функции я иногда хочу ничего не делать, но возвращать только что созданный пустой ассоциативный массив. Один из способов сделать это заключается в следующем: auto make_dict() { int[char] dict; return dict; } Есть ли способ избежать объяв…
12 янв '13 в 13:56
1 ответ

Можно ли иметь методы класса шаблона, использующие AliasSeq в d/dlang?

Я хотел бы скомпилировать что-то вроде следующего: import std.meta: AliasSeq; import std.stdio: writeln; class Bag { template fill(alias types) { void fill() { writeln("Do stuff"); } } } void main(){ auto bag = new Bag(); alias stuff = AliasSeq!(int…
04 дек '15 в 01:02