grino/lib/std/io.hpp

32 lines
720 B
C++
Raw Normal View History

2023-09-14 12:34:51 +00:00
#include "src/Loader.hpp"
#include "src/Module.hpp"
extern "C" void lib_io(grino::Loader& loader)
{
auto mod = loader.add_module("io");
mod->loader()->add_native("print", [](auto args){
for (auto arg: args)
{
std::cout << arg->string();
}
return grino::Value::make_nil(grino::Loc {"io"});
});
mod->loader()->add_native("println", [](auto args){
for (auto arg: args)
{
std::cout << arg->string();
}
std::cout << std::endl;
return grino::Value::make_nil(grino::Loc {"io"});
});
mod->loader()->add_native("read", [](auto args){
std::string value;
std::cin >> value;
return grino::Value::make_string(grino::Loc {"io"}, value);
});
2023-09-14 12:34:51 +00:00
}