Вопросы по теме 'phobos'

Проверка в D, если строка находится в массиве?
Как проверить наличие строки в массиве? Я имею в виду, что могу зациклить, но есть ли стандартная функция? сначала я сделал: if(str in ["first", "second", "third"]) но он жаловался, что in работает только с...
248 просмотров
schedule 22.04.2022

Использование std.algorithm.map с функциями-членами в D2
У меня есть: Foo foo = new Foo(); foreach (i; 0..10) { Bar bar = foo.getBar(i); ... } Вместо этого я хочу иметь возможность сказать (эквивалентно): foreach (bar; foo.getAllBars()) { ... } Как мне реализовать getAllBars() ?...
164 просмотров
schedule 23.07.2023

Соглашения об именах D: как организован Фобос?
Я делаю свою собственную небольшую библиотеку удобных функций и пытаюсь следовать соглашению об именах Фобоса, но я действительно запутался. Откуда я знаю, где вещи подходят? Пример: Если бы в Фобосе была функция вроде foldRight (по сути...
405 просмотров
schedule 11.09.2023

Как инкапсулировать существующий массив с помощью phobos std.range D2
Я хотел бы инкапсулировать существующий массив данных (созданный Python Numpy Lib) в массив, подобный объекту на языке D2... без необходимости копировать данные массива... Я уже использую Python cTypes Lib для вызова DLL, передача длин массивов и...
55 просмотров
schedule 04.08.2022

D перенаправить стандартный вывод на функцию
Я хочу перенаправить весь вывод консоли на свою собственную консоль с графическим интерфейсом, включая все вызовы функций записи C. Что я пробовал: Создание нового класса потока, но stdio.stdout — это файл, и вы не можете назначить ему поток...
323 просмотров
schedule 12.11.2022

Object.Error: нарушение прав доступа при печати результата std.algorithm.cartesianProduct
Я использую DMD 2.062 для x86. module test; private enum test1 { one, two, three, } private enum test2 { one, two, three, } auto ct = cartesianProduct([EnumMembers!test1], [EnumMembers!test2]); unittest { import...
1100 просмотров
schedule 25.09.2022

Использование std.array.replace для результата std.algorithm.map
Итак, сегодня я возился с языком программирования D и просто не смог найти никакой информации о том, как использовать std.array.replace для возвращаемого типа std.algorithm.map . void main() { import std.stdio : writeln;...
294 просмотров
schedule 13.04.2023

Чтение одного символа из стандартного ввода в D
В документации для std.stdio не указана функция read , которую можно использовать для получения одного символа из стандартного ввод, только readln , чтобы получить строку. std.file имеет функцию read , но ей нужно имя файла, которое,...
689 просмотров
schedule 01.10.2022

std.json — любой способ проверить, есть ли в JSONValue определенное поле.
Предположим, у меня есть неизвестный бит JSON, и я хочу проверить, имеет ли он форму, подобную этой: { "foo": stuff "bar": stuff } где stuff — что угодно — целое число, объект, что угодно. Если я сделаю что-то вроде этого: auto...
73 просмотров
schedule 14.06.2023

Должен ли std.algorithm.find требовать ссылки на элементы диапазона?
Я работаю над конечным диапазоном произвольного доступа на основе классов. При выполнении нескольких тестов на нем: auto myRange = /* construct my range */ static assert (isRandomAccessRange!(typeof(myRange))); // static assert...
137 просмотров
schedule 15.03.2023

Удалить подстроку из строки в D
Как удалить все вхождения строки в другую? Я могу сделать это, используя следующий код: std.array.replace: "the string".replace("the", "") Но интересно, есть ли в фобосе специальная функция для этого?
166 просмотров
schedule 16.05.2023

Сделать массив из диапазона на языке D
Как на языке D кратчайшим образом построить массив из заданного диапазона? Пусть у меня есть итератор i . Как составить массив из его элементов (по порядку)?
37 просмотров
schedule 12.04.2023