Как известно, выполнение программы, написанной на D, всегда начинается с процедуры main. А что если хочется ее заменить своей процедурой?
Метка: шаблоны
Измерение времени выполнения отдельных фрагментов кода
И снова перегрузка операторов
Казалось бы в одной из статей мы уже расставили все точки над «ё», однако, не тут было, так как к нам пришла внезапная идея… Дело в том, что довольно часто приходиться работать с массивами, причем, массивами статическими (т.е. массивами уже заданной размерности), и очень хочется хоть немного комфорта. Иногда, впрочем, встречаются и такие задачи, от […]
Поиск уникальных элементов в массиве
Довольно часто встречается задача поиска уникальных элементов в массивах или каких-то иных последовательностях данных со схожим интерфейсом доступа и казалось бы тут не должно быть проблем, особенно, если учесть тот факт, что в Phobos в модуле std.algorithm есть такая замечательная вещь, как uniq, но…
Преобразования цвета в DFL
В одном из проектов для D Form Library я столкнулся с небольшой проблемкой: необходимо было сделать рисунок в окне, но с использованием окраски «в старом стиле» (т.е. использовать не палитру RGB, а иную, более упрощенную, с меньшим количеством параметров). Это была даже не задача, поскольку думать пришлось совсем немного, однако, недостаточное количество информации чуть не […]
Превращение набора данных в строку
Программисты на Python знают, что у строк в этом замечательном языке программирования есть интересный метод join, который, если мне не изменяет память, получая на вход список данных и разделитель, склеивает эти данные, объединяя их через переданный разделитель. Однако, поиски по стандартной библиотеке D не позволили найти аналог для такого метода (хотя возможно, я плохо искал) […]
Удобное создание свойств в классах и структурах
В этой статье покажу Вам небольшой «трюк» для вставки свойств в классы и структуры. Работает это примерно так: формируется строка (из переданных аргументов — тип для значения свойства и имя свойства, а также из собственно, объявления приватной переменной и объявления самого свойства) с описанием методов установки/считывания свойства и помещается в константный массив символов — и […]
Различные алгоритмы сортировки
В этом небольшом посте, я выкладываю тривиальные реализации различных методов сортировки массивов с разными типами данных. Все предложенные способы сортируют массивы по возрастанию (хотя, очень легко сделать так, чтобы весь код стал универсальным: допустим, можно слегка модифицировать листинги таким образом, чтобы каждая из функций сортировки принимала на вход еще и операцию, с помощью которой будет […]
Вычисление числа Пи методом «краника»
Однажды, от нечего делать, я решил попробовать реализовать какой-нибудь интересный алгоритм из области вычислительной математики, уж очень хотелось совместить бесполезное с познавательным, а заодно хоть как-то привыкнуть к новому (на тот момент) для себя языку программирования (который еще и достаточно низкоуровневый, несмотря на некоторые вольности).