The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз платформы разработки информационных систем lsFusion 4...."
Отправлено Аноньимъ, 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 (* количество цена))
Да и вне лиспа можно подобное писать. Но с лиспом можно много чего еще и другого писать.

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

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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