module orelang.operator.LambdaOperator; import orelang.operator.DynamicOperator, orelang.operator.IOperator, orelang.Engine, orelang.Value; import std.algorithm, std.array; class LambdaOperator : IOperator { /** * call */ public Value call(Engine engine, Value[] args) { string[] funcArgs = args[0].getArray.map!(value => value.getString).array; Value funcBody = args[1]; return new Value(new DynamicOperator(funcArgs, funcBody)); } }