All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.scudata.expression.mfn.sequence.Lookup Maven / Gradle / Ivy

Go to download

SPL(Structured Process Language) A programming language specially for structured data computing.

There is a newer version: 20240823
Show newest version
package com.scudata.expression.mfn.sequence;

import com.scudata.common.MessageManager;
import com.scudata.common.RQException;
import com.scudata.dm.Context;
import com.scudata.dm.Sequence;
import com.scudata.expression.Expression;
import com.scudata.expression.ParamInfo2;
import com.scudata.expression.SequenceFunction;
import com.scudata.resources.EngineMessage;

/**
 * ????????ϲ???
 * A.lookup(Ai:xi,??)
 * @author RunQian
 *
 */
public class Lookup extends SequenceFunction {
	public Object calculate(Context ctx) {
		ParamInfo2 pi = ParamInfo2.parse(param, "lookup", true, false);
		Expression []exps = pi.getExpressions1();
		int count = exps.length;
		Sequence []src = new Sequence[count];
		for (int i = 0; i < count; ++i) {
			Object obj = exps[i].calculate(ctx);
			if (!(obj instanceof Sequence)) {
				MessageManager mm = EngineMessage.get();
				throw new RQException("lookup" + mm.getMessage("function.paramTypeError"));
			}

			src[i] = (Sequence)obj;
		}

		Object []vals = pi.getValues2(ctx);
		return srcSequence.lookup(src, vals, option);
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy