Я делаю программу с использованием Haskell, которая требует простых функций сохранения и загрузки. Когда я вызываю функцию сохранения, мне нужно поместить строку в текстовый файл. Когда я вызываю load, мне нужно вытащить строку из текстового файла.
Я знаю о сложностях, связанных с вводом-выводом в Haskell. Из некоторого чтения в Интернете я обнаружил, что это возможно с помощью «основной» функции. Однако, похоже, я могу реализовать либо сохранение, либо загрузку... не то и другое.
Например, у меня есть следующая функция на данный момент для чтения из файла.
main = do
contents <- readFile "Test.txt"
putStrLn contents
Как я могу также реализовать функцию записи? Должна ли она быть внутри одной и той же функции? Или можно отделить? Кроме того, есть ли способ назвать функции загрузки/сохранения? Необходимость вызывать «основной», когда я действительно хочу вызвать «загрузить» или «сохранить», довольно раздражает.
Я не могу найти в Интернете никаких примеров того, как кто-то реализует оба, и любые реализации, которые я нашел, всегда проходят через основную функцию.
Любой совет будет принят с благодарностью.
main
— это точка входа вашей программы, как и функцияpublic static void main()
в Java. Это не единственное место, где вы можете выполнять ввод-вывод, вы можете создать столько функций ввода-вывода, сколько захотите, и назвать их как угодно. Просто, если эти функции будут использоваться, в конечном итоге их нужно будет вызывать (прямо или косвенно) с помощьюmain
. - person DarthFennec   schedule 24.04.2019