Здравствуйте, deniok, Вы писали:
АМ>>>Есть задача — расчетная программа на Haskell, которая параметры расчета должна получать из из файла следующего вида:
АМ>>>АМ>>>a=15
АМ>>>b=10
АМ>>>c=1 4 5.1
АМ>>>
D>>Непонятно — параметров там может быть и больше? c, d, e, ... , x, y, ... ?
D>>И они никак не типизируются? 1 4 5.1 — это тройка чисел?
Вообще говоря, список фиксированный полностью фиксированный, но для удобства пользователей не хочется фиксировать порядок в файле. Случай с "c" особый, его обрабатывать буду после, так как там будет список значений для итеративного расчета с использованием остальный параметров — их штук 5 и всех надо заправить аргументами в конкретные вычислительную функцию, evaluate это только обертка.
D>Когда вызывается
D>D>evaluate :: Parameters -> IO ()
D>
D>какие требования накладываются на число и тип параметров? Одно дело? если просто фиксированное число чисел, а другое если там неизвестного размера список (или ещё хуже дерево) объектов сложной природы. Если, скажем, надо хранить имя параметра, то я бы сделал так
D>D>data Parameter = Parameter Char String -- a=15 сохраним как Parameter 'a' "15"
D>
D>Ну а вместо Parameters использовал бы список из Parameter.
И функция поиска в списке? Для случая нефиксированных параметров — идеально подходит. Мне кажется, что это будет очень развесисто для фиксированного набора.
Спасибо за идею, изучать Haskell после значительного опыта с С++, мягко говоря, трудно
Алексей Мартынов