пятница, 31 августа 2012 г.

Ruby: класс Time — немного о грустном

Обнаружил не очень правильное поведение Ruby при преобразовании времени между поясным и универсальным — следующий код:

local = Time.now

puts "local\t= #{local}"

utc = local.utc

puts "utc\t= #{utc}"
puts "local\t= #{local}"

выводит:

local   = 2012-08-31 05:53:48 +0600
utc     = 2012-08-30 23:53:48 UTC
local   = 2012-08-30 23:53:48 UTC

Т.е. метод utc не только выдает соответствующее универсальное время, но и приводит к нему задействованный объект. Причем, восклицательного знака в имени метода нет... Проблема, естественно, обходится методом dup.

воскресенье, 26 августа 2012 г.

FPC-Notes: И с чем его едят...

Программное обеспечение используется нами не в вакууме, а в некотором окружении. Одни программы необходимы для работы других, третьи могут быть полезны для совместного использования, четвертые позволяют решать смежные задачи...

Давайте рассмотрим различный софт, с которым нам, возможно, придется взаимодействовать при программировании на Free Pascal.

Ruby'шное

Из нового в Ruby 1.9 самое вкусное, пожалуй — это именованные группы в регулярных выражениях. Остальное — сахар. Кроме, разве что локальных переменных в блоках — тут скорее исправление бага.

upd: Про многопоточность забыл...

Gentoo'шное

После долгого периода необновления малость посыпались оверлеи... В частности отказался отзываться xwing, из которого у меня стоял DeaDBeeF, а версия 2ГИСа (это сейчас так называется) в оверлее sumrise устарела до неудобоваримости...

Решить проблему удалось только сейчас, поскольку до вчерашнего дня временно не работал сервис gpo.zugaina.org (зело рекомендую). Что особенно приятно — оба недостающих пакета нашлись в одном оверлее — miramir (есть и в других, но не оба сразу).