package jmathlib.toolbox.general; import jmathlib.core.tokens.Token; import jmathlib.core.tokens.OperandToken; import jmathlib.core.tokens.DataToken; import jmathlib.core.tokens.CharToken; import jmathlib.core.functions.ExternalFunction; import jmathlib.core.interpreter.GlobalValues; public class _class extends ExternalFunction { public OperandToken evaluate(Token[] operands, GlobalValues globals) { if (getNArgIn(operands) != 1) throwMathLibException("_class: number of arguments != 1"); if (!(operands[0] instanceof DataToken)) throwMathLibException("_class: first operand must be a data token"); String opDataType = ((DataToken)operands[0]).getDataType(); return new CharToken(opDataType); } } /* @GROUP general @SYNTAX class(value) @DOC returns the class name of some array. @EXAMPLES <programlisting> a=55 class(a) -> double b='asdf' class(b) -> char </programlisting> @NOTES . @SEE isa, ismatrix, isnumeric, isscalar, issquare, islogical */