Описание тега phobos

Phobos - это официальная среда выполнения и стандартная библиотека языка программирования D.
3 ответа

Совместима ли D с C, если вы используете библиотеки C?

Если я импортирую библиотеки std.c вместо включения библиотек в C, будет ли код C компилироваться с помощью компилятора D, или есть другие проблемы с совместимостью обратных слов?
02 июн '12 в 16:21
1 ответ

Как связать этот код C с D?

Как этот C должен быть преобразован в D: typedef const gchar* (*GModuleCheckInit) (GModule *module); typedef void (*GModuleUnload) (GModule *module); Это правильно? alias const gchar* function( GModule *module ) GModuleCheckInit; alias void function…
05 ноя '11 в 14:28
2 ответа

Segfault в D для слишком больших входов

Следующая программа D аварийно завершает работу для входа 939971 или выше, но не для ввода 939970 или ниже: #!/usr/bin/rdmd --shebang -w -d-debug --relocation-model=pic import std.stdio; import std.bigint; import std.conv; import std.array; //extern…
24 ноя '13 в 06:33
1 ответ

Можно ли рассчитывать на наличие shell()?

std.process имеет хороший shell() функция. import std.process; import std.stdio; void main() { string Output = shell("ls ."); writeln("The contents of this directory are:"); write(Output); } Это задокументировано в источнике Фобоса, но не онлайн. Эт…
01 дек '11 в 00:46
3 ответа

Реализация объектов в стеке в D

Я изучаю D, и меня смущает ошибка, которую я получаю. Учтите следующее: module helloworld; import std.stdio; import std.perf; ptrdiff_t main( string[] args ) { auto t = new PerformanceCounter; //From managed heap //PerformanceCounter t; //On the sta…
23 окт '10 в 22:02
1 ответ

Почему я не могу использовать std.algorithm.count с функцией предиката

Следующий код не компилируется: assert("(((())))()()()()))".count!(c => c.among!('(', ')')) > 0); С сообщением об ошибке: "Error: template std.algorithm.searching.count cannot deduce function from argument types !((c) => c.among!('(', ')'))…
09 окт '15 в 20:22
1 ответ

D и т. Д. Примеры

D, будучи менее известным языком группы, очень мало подходит для библиотек. Я пытаюсь загрузить файл, и способ, которым я вижу, как сделать это с DMD 2 и phobos, - с помощью etc.c.curl, но... Curl очень сложно использовать. И так как нигде не могу н…
21 авг '11 в 18:51
1 ответ

std.regex.regex() не чистый. Зачем?

В D std.regex.regex() не чисто: import std.regex; pure void test() // test.d(5): Error: pure function 'test' cannot call impure function 'regex' { auto r = regex(r"patern123", "g"); } Зачем? Это А. недостаточно pure ключевые слова были добавлены. ил…
17 фев '13 в 11:42
1 ответ

Должен ли std.algorithm.find требовать ссылки на элементы диапазона?

Я работал над классом конечного диапазона произвольного доступа. При выполнении нескольких тестов на нем: auto myRange = /* construct my range */ static assert (isRandomAccessRange!(typeof(myRange))); // static assert (!isInfinite!(typeof(myRange)))…
03 фев '15 в 17:15
1 ответ

D: Не получается создать std.container. Массив указателей на const struct

Предположим, у меня есть тип структуры Foo, Я пытаюсь создать std.container.Array константных указателей на Foo, Сначала я попробовал очевидное: import std.container; alias FooArray = Array!(const(Foo*)); Однако это вызывает ошибку компилятора. Тогд…
07 авг '14 в 05:29
8 ответов

Должен ли я использовать Фобос или Танго?

Я решил выучить D, и мне интересно, какую стандартную библиотеку мне следует использовать. Должен ли я использовать Фобос или Танго? Каковы плюсы и минусы каждого?
28 мар '09 в 22:34
1 ответ

Кратчайший способ объединения строк в D вне writefln()?

Мне действительно нужно объединить строки формата, и мне интересно, каков самый короткий (или самый простой для чтения) способ объединения строк вне функции writefln() в D? То есть мне нравится поведение writefln, где вы можете сделать, например: //…
02 янв '13 в 11:39
1 ответ

std.algorithm.joiner(string[],string) - почему элементы результата являются dchar, а не char?

Я пытаюсь скомпилировать следующий код: import std.algorithm; void main() { string[] x = ["ab", "cd", "ef"]; // 'string' is same as 'immutable(char)[]' string space = " "; char z = joiner( x, space ).front(); // error } Компиляция с dmd заканчиваетс…
05 сен '12 в 19:31
1 ответ

Сбой std.algorithm.sorting с непонятными ошибками при использовании Array!T и opSlice()

Я уверен, что упускаю что-то очевидное здесь - остальная часть D (даже ошибки компилятора) была очень разумной и простой для понимания. у меня есть std.containers.Array сопоставимых структур, и я хотел бы отсортировать его. std.containers документац…
18 окт '15 в 12:29
1 ответ

Возвращаемое значение std.regex.regex?

Я пытаюсь написать функцию, которая принимает входную строку, регулярное выражение (сделано std.regex.regex из необработанной строки) и строку сообщения об ошибке, и попытайтесь сопоставить что-либо из входной строки с помощью регулярного выражения,…
26 июл '14 в 03:35
1 ответ

Офлайн копия документации Фобоса

Могу ли я получить офлайн (желательно с возможностью поиска) копию документации Фобоса, доступную здесь?
08 апр '14 в 03:35
1 ответ

vibe.d: попробуйте отправить сообщение остановленной задаче

При отправке сообщения остановленной задаче vibe.d приложение получает ошибку сегментации. Я не ожидал, что сообщение будет доставлено, но получил уведомление о неудачной попытке отправки (или, по крайней мере, об ошибке). Следующий пример иллюстрир…
19 ноя '16 в 00:15
1 ответ

Содержит ли phobos (стандартная библиотека D) "конец-с" для строкового типа?

Мне нужна функция, чтобы проверить, заканчивается ли строка каким-либо суффиксом. Я могу использовать lastIndexOf для этой задачи, но мне интересно, есть ли стандартная функция Фобоса?
11 сен '14 в 11:58
1 ответ

Почему Nullable!(Nullable! Int) отказывается от компиляции?

Следующий код отказывается компилировать: Nullable!(Nullable!int) nni = Nullable!(Nullable!int)(10); С этим сообщением об ошибке: Error: inout method nullable.Nullable!(Nullable!(immutable(int))).Nullable.this is not callable using a mutable object …
02 дек '15 в 15:05
2 ответа

Проверка в D, если строка находится в массиве?

Как проверить наличие строки в массиве? Я имею в виду, конечно, я могу зациклить, но есть ли стандартная функция? сначала я сделал: if(str in ["first", "second", "third"]) но жаловался что in работает только с ассоциативными массивами. Я попытался б…
30 май '09 в 04:27