module orelang.operator.StdioOperators; import orelang.operator.IOperator, orelang.Engine, orelang.Value; import std.stdio, std.conv; class ReadlnOperator : IOperator { public Value call(Engine engine, Value[] args) { return new Value(stdin.readln); } } class StdinByLINEOperator : IOperator { public Value call(Engine engine, Value[] args) { Value[] ret; foreach (line; stdin.byLine) { ret ~= new Value(line.to!string); } return new Value(ret); } } class StdinEofOperator : IOperator { public Value call(Engine engine, Value[] args) { return new Value(stdin.eof); } }