serene-simple/src/main/java/serene/simple/ListNode.java

19 lines
474 B
Java

package serene.simple;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
public class ListNode extends Node implements Iterable<Node> {
@Override
public Object eval(Scope scope) {
Function f = (Function) this.first.eval(scope);
List<Object> args = new ArrayList<Object>();
for (Node node : this.first) {
args.add(node.eval(scope));
}
return f.apply(args.toArray());
}
}