Недавно один из авторов блога опубликовал материал по работе с такой замечательной вещью, как dlib, в которой есть много замечательных функций и шаблонов. Однако, даже поработав с ней несколько раз в реальном проекте, все равно чувствуешь, что в ней чего-то не хватает для нормальной работы таких помешанных на графике и математике, как я. В свою […]
Рубрика: Dlang
Статьи по языку программирования D
Поиск уникальных элементов в массиве
Довольно часто встречается задача поиска уникальных элементов в массивах или каких-то иных последовательностях данных со схожим интерфейсом доступа и казалось бы тут не должно быть проблем, особенно, если учесть тот факт, что в Phobos в модуле std.algorithm есть такая замечательная вещь, как uniq, но…
Преобразования цвета в DFL
В одном из проектов для D Form Library я столкнулся с небольшой проблемкой: необходимо было сделать рисунок в окне, но с использованием окраски «в старом стиле» (т.е. использовать не палитру RGB, а иную, более упрощенную, с меньшим количеством параметров). Это была даже не задача, поскольку думать пришлось совсем немного, однако, недостаточное количество информации чуть не […]
Учимся работать с таймером в DFL2
При работе в Entice Designer рано или поздно приходится убедиться, в том, насколько мало компонентов дизайна содержит эта небольшая среда визуального проектирования графического интерфейса, и чем раньше приходит в голову эта мысль, тем быстрее закрадываются в голову нелегкие сомнения о правильности выбора. Все мы знаем, что Entice проектировалась с учетом минимализма и весьма скромных требований, […]
Интерпретатор BrainFuck
Увидел подобное на другом языке программирования и решил реализовать на D интерпретатор BrainFuck. Смотрим что получилось…
Превращение набора данных в строку
Программисты на Python знают, что у строк в этом замечательном языке программирования есть интересный метод join, который, если мне не изменяет память, получая на вход список данных и разделитель, склеивает эти данные, объединяя их через переданный разделитель. Однако, поиски по стандартной библиотеке D не позволили найти аналог для такого метода (хотя возможно, я плохо искал) […]
Конвертация сторонних библиотек из *.dll в *.lib
Иногда случается так, что при наличии сторонней DLL (и документации на нее), требуется использовать ее совместно с компилятором dmd. Часто при таком раскладе, при попытке компиляции приложения «в лоб», программист получает шикарный набор ругательств на английском от линковщика, используемого dmd: хотя программа и компилируется, но линковщик не может собрать из объектных файлов само приложение. Что […]
Удобное создание свойств в классах и структурах
В этой статье покажу Вам небольшой «трюк» для вставки свойств в классы и структуры. Работает это примерно так: формируется строка (из переданных аргументов — тип для значения свойства и имя свойства, а также из собственно, объявления приватной переменной и объявления самого свойства) с описанием методов установки/считывания свойства и помещается в константный массив символов — и […]
Пишем валентинку на D
Не особо люблю День всех Влюбленных, но тем не менее некоторые традиции надо соблюдать да и сама по себе подготовка к этому «празднику» является неплохим поводом для того, чтобы немного и креативно подумать. В свое время, когда я баловался с программированием и не выбрал окончательно язык программирования, у меня был небольшой проект, написанный на AutoIt, […]
Теория чисел + D = ?
В этот раз не будет графики, однако, без математики эта статья не останется — математики будет хоть и много, но она не настолько сложна и доступна любому, кто спокойно доучился хотя бы до 6-ого класса средней школы. Давайте обратим внимание на такую штуку (которой в школах и университетах уделяют слишком мало времени), как теория чисел. […]