/
dinruspro
/
reference
Обзор
Документация
Войти
/
dinruspro
/
reference
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
EscApp/EscApp.cpp
41 строка
740 B
EnergonV
Справка по коду перекочевала в репозиторий (наконец-то!)
09 янв 2024, 19:20
09 янв 2024, 19:20
e333663
Код
Авторство
О чём код?
#include <Esc/Esc.h> using namespace Upp; void SIC_Print(EscEscape& e) { if(e[0].IsArray()) Cout() << (String) e[0]; else if(e[0].IsNumber()) Cout() << e[0].GetNumber(); else if(!e[0].IsVoid()) e.ThrowError("invalid argument to 'Print'"); } void SIC_Input(EscEscape& e) { e = ReadStdIn(); } void SIC_InputNumber(EscEscape& e) { e = atof(ReadStdIn()); } CONSOLE_APP_MAIN { ArrayMap<String, EscValue> global; Escape(global, "Print(x)", SIC_Print); Escape(global, "Input()", SIC_Input); Escape(global, "InputNumber()", SIC_InputNumber); StdLib(global); try { Scan(global, LoadFile(GetDataFile("script.esc"))); Execute(global, "main", INT_MAX); } catch(CParser::Error e) { Cout() << "ERROR: " << e << "\n"; } }