package jmathlib.toolbox.io;
import jmathlib.core.tokens.*;
import jmathlib.core.functions.ExternalFunction;
import jmathlib.core.interpreter.GlobalValues;
import java.io.*;
/**An external function for getting a directory listing */
public class dir extends ExternalFunction
{
public OperandToken evaluate(Token[] operands, GlobalValues globals)
{
if (getNArgIn(operands) != 0)
throwMathLibException("dir: number of arguments != 0");
String path=".";
File dir = new File(globals.getWorkingDirectory(), path);
String[] files = dir.list();
for (int i=0; i<files.length ; i++)
{
String name = files[i];
File f = new File(name);
if (f.isDirectory())
globals.getInterpreter().displayText(files[i]+"/");
else
globals.getInterpreter().displayText(files[i]);
}
return null;
} // end eval
}
/*
@GROUP
IO
@SYNTAX
dir()
dir(directory)
@DOC
Displays the file list for the current directory.
@EXAMPLES
<programlisting>
dir()
MathLib.MathLib.html
MathLib.log
MathLib.bat
object.txt
Demos.class
MathLib/
CVS/
Demos$1.class
1.0
</programlisting>
@SEE
cd, createnewfile, exist, mkdir, rmdir, delete, isfile, isdirectory, ishidden, lastmodified
*/