module orelang.operator.LengthOperator; import orelang.operator.IOperator, orelang.Engine, orelang.Value; import std.conv; class LengthOperator : IOperator { /** * call */ public Value call(Engine engine, Value[] args) { Value obj = engine.eval(args[0]); if (obj.type == ValueType.Array) { return new Value(obj.getArray.length.to!double); } else { throw new Error("Given object is not an Array or List"); } } }