ВыходВход

Меню сайта

Разделы дневника
Жизненное [21]
О жизни...
Работа [5]
Заметки о работе и в части касающейся
Программирование [9]
Заметки по программированию
Интернет [8]
Интересности, замечания, мысли...
Всяко-разно [5]
Но красиво...
Лирика [21]
Иногда я тоже пишу стихи

Календарь
«  Декабрь 2005  »
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
262728293031

Меню пользователя

Поиск по дневнику

Друзья сайта

Следы на золе
» 2005 » Декабрь » 02
Код Perl:
sub _move_unit { 
my ($self, $data) = @_;
if ($data->{'near'} >= $data->{'left'} && $data->{'near'} <= $data->{'right'}) {return 0}
my $skew_tree = $data->{'right'} - $data->{'left'} + 1;
my $skew_level = $data->{'level_new'} - $data->{'level'};
if ($data->{'right'} < $data->{'near'}) {
my $skew_edit = $data->{'near'} - $data->{'left'} + 1 - $skew_tree;
$self->{'DBI'}->do('UPDATE '.$self->{'table'}.
' SET '.
$self->{'left'}.' = CASE WHEN '.$self->{'right'}.' <= '.$data->{'right'}.' THEN '.
$self->{'left'}.' + '.$skew_edit.' ELSE CASE WHEN '.$self->{'left'}.' > '.$data->{'right'}.' THEN '.
$self->{'left'}.' - '.$skew_tree.' ELSE '.$self->{'left'}.' END END, '.
$self->{'level'}.' = CASE WHEN '.$self->{'right'}.' <= '.$data->{'right'}.' THEN '.
$self->{'level'}.' + '.$skew_level.' ELSE '.$self->{'level'}.' END, '.
$self->{'right'}.' = CASE WHEN '.$self->{'right'}.' <= '.$data->{'right'}.' THEN '.
... Читать дальше »
Категория: Программирование | Просмотров: 1495 | Добавил: phoinix | Дата: 2005-12-02

 

Бесплатный конструктор сайтов - uCoz