1) Пакет "calcregexp" считывает из файла список математических выражений, считает результат и записывает в другой файл
pkg\calcregexp\calcregexp.go
pkg\calcregexp\calcregexp_test.go
Используя методы и структуры пакетов ioutils и regexp:
- считывает из файла список математических выражений
- считает результат
- записывает в другой файл
Файлы со списком математических выражений:
./ui/data/input.txt
./ui/data/input1.txt
!!! Пакет "calcregexp" создан для тестовой работы с регулярными выражениями, это не полноценный математический парсер!!! Расчеты проверены на простых тестовых задачах в рамках задания!!!
2) Пакет "api" реализует характерную для REST API схему запросов для работы с БД.
pkg\api\api.go
Запросы приходят на URL, соответствующий коллекции ресурсов:
- расчитать одно выражение "/expLine"
- расчитать из файла список математических выражений "/expFile"
Для обозначения действий над данными используются методы протокола HTTP:
- POST для создания ресурса
api.router.HandleFunc("/expLine", api.addExpLineHandler).Methods(http.MethodPost, http.MethodOptions)
api.router.HandleFunc("/expFile", api.addExpFileHandler).Methods(http.MethodPost, http.MethodOptions)
3) Для визуализации и организации REST API схемы запросов используется HTML+Javascript:
cmd\server\ui\html\base.html
cmd\server\ui\html\routes.html
4) Для регистрации ошибок создан пакет logger.
pkg\logger\logger.go
cmd\server\ui\data\log.json - файл для хранения сообщений
Суть задания — написать программу, которая считывает из файла список математических выражений, считает результат и записывает в другой файл.
Пример входного файла:
5+4=?
9+3=?
Сегодня прекрасная погода
13+7=?
4-2=?
Пример файла с выводом:
5+4=9
9+3=12
13+7=20
4-2=2
Пожелания к программе:
- Использовать методы и структуры пакетов ioutils и regexp.
- Программа должна принимать на вход 2 аргумента: имя входного файла и имя файла для вывода результатов.
- Если не найден вывод, создать.
- Если файл вывода существует, очистить перед записью новых результатов.
- Использовать буферизированную запись результатов.
Все выше перечисленные требования к системе учтены в проекте.
- 1: package calcregexp
1.Enter this command to start the program:
go run server.go -inpfile "./ui/data/input.txt" -outfile "./ui/data/output.txt"
-
inpfile: This parameter is path to input data file.
-
outfile: This parameter is path to output data file.
go run server.go
defualt value (-inpfile "./ui/data/input.txt" -outfile "./ui/data/output.txt")
2.Open the web browser and go to:
http://127.0.0.1:8080/ or localhost:8080
@PolinaSvet
!!! It is for test now !!!
