📄 stdlib.java
字号:
package gscript;
import java.util.*;
import gscript.Interpreter;
/**
* 标准方法库 standard method lib
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2007</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class Stdlib
extends Lib {
{
methodNames = new String[] {
"print" //0 向控制台输出字符串
, "min" //1 求最小值
, "max" //2 求最大值
, "asize" //3 求数组大小
, "abs" //4 求取对值
, "random" //5 得到一个随机数
, "mod" //6 取余
, "println" //7 输出回车
, "ssize" //8 字符串长度
};
}
public DataType call(Vector para, int methodID) {
switch (methodID) {
case 0:
return print(para);
case 1:
return min(para);
case 2:
return max(para);
case 3:
return asize(para);
case 4:
return abs(para);
case 5:
return random();
case 6:
return mod(para);
case 7:
return println(para);
case 8:
return ssize(para);
}
return null;
}
/**
* 向控制台输出字符串
*
* @param para String
* @return Object
*/
private DataType print(Vector para) {
String s = ( (DataType) (Interpreter.vPopBack(para))).getString();
System.out.print(s);
return null;
}
/**
* 向控制台输出字符串
*
* @param para String
* @return Object
*/
private DataType println(Vector para) {
DataType dt = (DataType) Interpreter.vPopBack(para);
String s = dt == null ? null : dt.getString();
if (s == null) {
System.out.println();
}
else {
System.out.println(s);
}
return null;
}
/**
* 求最小值
*
* @param para int
* @return Integer
*/
private Int min(Vector para) {
int x = ( (Int) Interpreter.vPopBack(para)).getVal();
int y = ( (Int) Interpreter.vPopBack(para)).getVal();
return new Int(x > y ? y : x);
}
/**
* 求最大值
*
* @param para int
* @return Integer
*/
private Int max(Vector para) {
int x = ( (Int) Interpreter.vPopBack(para)).getVal();
int y = ( (Int) Interpreter.vPopBack(para)).getVal();
return new Int(x > y ? x : y);
}
/**
* 求数组大小
*
* @param para int
* @return Integer
*/
private Int asize(Vector para) {
Array arr = (Array) Interpreter.vPopBack(para);
return new Int(arr.elements.length);
}
/**
* 求最大值
*
* @param para int
* @return Integer
*/
private Int abs(Vector para) {
int x = ( (Int) Interpreter.vPopBack(para)).getVal();
return new Int(Math.abs(x));
}
//随机数基石
private static Random random = new Random(); //定义一个随机值
/**
* 产生一个随机数,这个数一定是正数
* @return int 返回一个正数
*/
public static DataType random() {
return new Int(random.nextInt());
}
/**
* 取余
*
* @param para int
* @return gscript.Int
*/
private Int mod(Vector para) {
int x = ( (Int) Interpreter.vPopBack(para)).getVal();
int y = ( (Int) Interpreter.vPopBack(para)).getVal();
return (new Int(x % y));
}
/**
* 字符串长度
*
* @param para int
* @return Integer
*/
private Int ssize(Vector para) {
String s = Interpreter.vPopBack(para).toString();
return new Int(s.length());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -