parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Изменение обьекта класса

Maxx 13.09.2005 17:20 / 13.09.2005 17:41

Захотел дополнить класс table своими методами. Для первого эксперимента решил добавить метод, удаляющий текущую строку.

Класс:
@CLASS
table2

@BASE
table

@create[table]
^BASE:create{$table}

@del_line[]
$cur_line[^BASE:line[]]
^BASE:create{^BASE:select(^BASE:line[] != $cur_line)]}
Пример вызова:
$t[^table2::create{1	2	3	4
str1c1	str1c2	str1c3	str1c4
str2c1	str2c2	str2c3	str2c4
str3c1	str3c2	str3c3	str3c4
str4c1	str4c2	str4c3	str4c4
}]

^t.menu{
$t.1	$t.2	$t.3	$t.4<br>
^if(^t.line[] == 2){$t[^t.del_line[]]}
}
Вторая строка удаляется, оно работает, но что то мне здесь не нравиться, а что - понять точно не могу. Как минимум хотелось бы написать просто ^t.del_line[] без присвоения. Но в таком варианте переменная $t остается без изменений.

Подскажите, что я делаю не так (может идеологически)?