The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз платформы разработки информационных систем lsFusion 4.0"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Второй уровень иерархии тем в форуме реализован через вкладку "Показ ключевых тем".
. "Релиз платформы разработки информационных систем lsFusion 4...." +/
Сообщение от Аноньимъ (ok), 17-Янв-21, 13:01 
>sum(Invoice i) = GROUP SUM quantity(InvoiceDetail id)*price(id) IF invoice(id) = i;
> Сумма по инвойсу это сумма цены умноженной на количество по всем строкам
> инвойсов относящихся к этому инвойсу.
> И да, на мой взгляд по выразительности высокоуровневым парадигмам на мой взгляд
> лучше подходят SQL, FOXPRO, ABAP like языки. Lisp на мой взгляд
> все же слишком академический.

Ну, во первых, на лиспе, вы можете написать ровно так как у вас написано.
И, это у вас определение функции такое?

i это что?
И что делает GROUP?

У вас таблица вида id_счета id_товара количество цена ?
И вы сумму по счету считаете?

Есть очень много способов как это сделать.
Например на чистой схеме учитывая что к таблице мы обращаемся неявно это может выглядеть так:
(sum (select (* количество цена) (= id_счета id)))

Или мы для всех счетов сумму считаем?
Тоже можно что-то придумать очень простое.
Ну например (group id_счета sum (* количество цена))
Да и вне лиспа можно подобное писать. Но с лиспом можно много чего еще и другого писать.

Но не всегда видимая "выразительность" хороша и полезна.
Я как человек работавший с ДСЛ для анализа данных скажу что лучше бы там были обычные операции для работы с множествами и списками.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Релиз платформы разработки информационных систем lsFusion 4.0, opennews, 16-Янв-21, 13:00  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру