Re[12]: Код expression, sheet, cell: задачка
От: Gaperton http://gaperton.livejournal.com
Дата: 13.11.07 13:46
Оценка:
Здравствуйте, Трурль, Вы писали:

R>>Что-то мне эти зависимости не очень нравятся...

Т>Ну, мне тоже не совсем.

Наоборот — зависимости в явном виде это круто. Это 100% изоляция способа вычисления expression от остальной программы, и полная независимость остальных алгоритмов от формул.

Вот все, что надо знать о формулах в остальной части программы:
create_expr( string() ) -> { Expression, Arguments } | value().
%% Формулы получаются из строк.
%% возвращает либо конкретное значение, если его можно вычислить сразу, либо функцию, его вычисляющую.
%% Expression = fun( [ value() ] ) -> value()
%% Функция, вычисляющая значение. Берет список значений аргументом.
%% Arguments = [ ref() ]
%% Список ссылок на аргументы.
%% Пример использования: Expression( [ calc_argument( X ) || X <- Arguments ) -> value().


И все. Не слишком много, не так ли?

R>>А, вот: функция таблицы "=get(Cell)" должна возвращать значение ячейки, указанной в строке/ячейке Cell. Через зависимости не выражается.

Т>А если представить что будет делать функция "=put(Cell;Value)"...

Приведите пример use case, где эти волшебные функции используются, и нельзя обойтись явными зависимостями. Также, оцените, насколько он частый, и какому проценту пользователей электронных таблиц нужен.

Мне кажется, этот процент изчезающе мал. Даже если вам удастся привести use case.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.