public class LuaState
extends java.lang.Object
| 限定符和类型 | 字段和说明 |
|---|---|
static java.lang.Integer |
LUA_ERRERR
lua函数执行出错:错误处理函数出错。
|
static java.lang.Integer |
LUA_ERRMEM
lua函数执行出错:内存分配错误。
|
static java.lang.Integer |
LUA_ERRRUN
a runtime error.
|
static java.lang.Integer |
LUA_ERRSYNTAX
syntax error during pre-compilation.
|
static java.lang.Integer |
LUA_GCCOLLECT
执行一个完整的垃圾回收周期。
|
static java.lang.Integer |
LUA_GCCOUNT
返回当前Lua使用的内存数量(KB)。
|
static java.lang.Integer |
LUA_GCCOUNTB
返回当前Lua使用的内存(Bytes)除以1024后的余数。
|
static java.lang.Integer |
LUA_GCRESTART
重启垃圾回收。
|
static java.lang.Integer |
LUA_GCSETPAUSE |
static java.lang.Integer |
LUA_GCSETSTEPMUL |
static java.lang.Integer |
LUA_GCSTEP |
static java.lang.Integer |
LUA_GCSTOP
停止垃圾回收。
|
static java.lang.Integer |
LUA_GLOBALSINDEX |
static java.lang.Integer |
LUA_MULTRET
Specifies that an unspecified (multiple) number of return arguments
will be returned by a call.
|
static java.lang.Integer |
LUA_REGISTRYINDEX |
static java.lang.Integer |
LUA_TBOOLEAN |
static java.lang.Integer |
LUA_TFUNCTION |
static java.lang.Integer |
LUA_TLIGHTUSERDATA |
static java.lang.Integer |
LUA_TNIL |
static java.lang.Integer |
LUA_TNONE |
static java.lang.Integer |
LUA_TNUMBER |
static java.lang.Integer |
LUA_TSTRING |
static java.lang.Integer |
LUA_TTABLE |
static java.lang.Integer |
LUA_TTHREAD |
static java.lang.Integer |
LUA_TUSERDATA |
static java.lang.Integer |
LUA_YIELD |
| 限定符 | 构造器和说明 |
|---|---|
protected |
LuaState(CPtr luaState)
Receives a existing state and initializes it
|
protected |
LuaState(int stateId)
Constructor to instance a new LuaState and initialize it with LuaJava's functions
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
call(int nArgs,
int nResults) |
int |
checkStack(int size)
将栈扩容至 top+size.
|
void |
close()
Closes state and removes the object from the LuaStateFactory
|
void |
concat(int n)
连接栈顶的前n个元素。
|
static java.lang.Number |
convertLuaNumber(java.lang.Double db,
java.lang.Class retType)
When you call a function in lua, it may return a number, and the
number will be interpreted as a
Double. |
void |
createTable(int narr,
int nrec)
创建一个table并预分配空间。
|
java.lang.String |
dumpStack()
从栈底到栈顶遍历了整个堆栈,输出元素的类型与值。
|
int |
equal(int idx1,
int idx2)
等价于LUA中的== (may call metamethods).
|
int |
error()
生成一个Lua错误。
|
int |
gc(int what,
int data)
执行内存回收相关操作。
|
long |
getCPtrPeer()
Return the long representing the LuaState pointer
|
void |
getFEnv(int idx) |
void |
getField(int idx,
java.lang.String k)
获取table对应的value并压入栈顶。
|
int |
getGcCount() |
void |
getGlobal(java.lang.String global)
获取全局变量的值或全局函数,入栈。
|
LuaObject |
getLuaObject(int index)
Creates a reference to an object in the
index position
of the stack |
LuaObject |
getLuaObject(LuaObject parent,
LuaObject name)
This constructor creates a LuaObject from a table that is indexed by any LuaObject.
|
LuaObject |
getLuaObject(LuaObject parent,
java.lang.Number name)
This constructor creates a LuaObject from a table that is indexed by a number.
|
LuaObject |
getLuaObject(LuaObject parent,
java.lang.String name)
Creates a reference to an object inside another object
|
LuaObject |
getLuaObject(java.lang.String globalName)
Creates a reference to an object in the variable globalName
|
int |
getMetaTable(int idx) |
java.lang.Object |
getObjectFromUserdata(int idx)
Gets a Object from Lua
|
void |
getTable(int idx)
获取索引处table对应的value并压入栈顶,之前压入的key会自动删除。
|
int |
getTop()
获取栈顶索引。
|
void |
insert(int idx)
弹出栈顶元素并插入指定位置
|
boolean |
isBoolean(int idx) |
boolean |
isCFunction(int idx) |
boolean |
isClosed()
Returns
true if state is closed. |
boolean |
isFunction(int idx) |
boolean |
isJavaFunction(int idx)
Returns whether a userdata contains a Java Function
|
boolean |
isNil(int idx) |
boolean |
isNone(int idx) |
boolean |
isNoneOrNil(int idx) |
boolean |
isNumber(int idx) |
boolean |
isObject(int idx)
Tells whether a lua index contains a java Object
|
boolean |
isString(int idx) |
boolean |
isTable(int idx) |
boolean |
isThread(int idx) |
boolean |
isUserdata(int idx) |
int |
LargError(int numArg,
java.lang.String extraMsg) |
int |
LcallMeta(int obj,
java.lang.String e) |
void |
LcheckAny(int nArg) |
int |
LcheckInteger(int numArg) |
double |
LcheckNumber(int numArg) |
void |
LcheckStack(int sz,
java.lang.String msg) |
java.lang.String |
LcheckString(int numArg) |
void |
LcheckType(int nArg,
int t) |
int |
LdoFile(java.lang.String fileName) |
int |
LdoString(java.lang.String str) |
int |
lessthan(int idx1,
int idx2)
等价于LUA中的<.
|
java.lang.String |
LfindTable(int idx,
java.lang.String fname,
int szhint) |
int |
LgetMetaField(int obj,
java.lang.String e) |
void |
LgetMetatable(java.lang.String tName) |
int |
LgetN(int t) |
java.lang.String |
Lgsub(java.lang.String s,
java.lang.String p,
java.lang.String r) |
int |
LloadBuffer(byte[] buff,
java.lang.String name) |
int |
LloadFile(java.lang.String fileName) |
int |
LloadString(java.lang.String s) |
int |
LnewMetatable(java.lang.String tName) |
int |
LoptInteger(int numArg,
int def) |
double |
LoptNumber(int numArg,
double def) |
java.lang.String |
LoptString(int numArg,
java.lang.String def) |
int |
Lref(int t) |
void |
LsetN(int t,
int n) |
int |
Ltyperror(int nArg,
java.lang.String tName) |
void |
LunRef(int t,
int ref) |
void |
Lwhere(int lvl) |
void |
newTable()
新建一个table,并压入栈。
|
LuaState |
newThread() |
int |
next(int idx)
从栈中弹出第一个元素作为key,然后将下一对 k-v 依次入栈。
|
int |
objLen(int idx) |
void |
openBase() |
void |
openDebug() |
void |
openIo() |
void |
openLibs() |
void |
openMath() |
void |
openOs() |
void |
openPackage() |
void |
openString() |
void |
openTable() |
int |
pcall(int nArgs,
int nResults,
int errFunc)
执行栈顶的函数。
|
void |
pop(int n)
从栈中弹出n个元素。
|
void |
pushBoolean(boolean bool) |
void |
pushInteger(int integer) |
void |
pushJavaFunction(JavaFunction func)
Pushes a JavaFunction into the state stack
|
void |
pushJavaObject(java.lang.Object obj)
Pushes a Java Object into the lua stack.
|
void |
pushNil() |
void |
pushNumber(double db) |
void |
pushObjectValue(java.lang.Object obj)
Pushes into the stack any object value.
|
void |
pushString(byte[] bytes) |
void |
pushString(java.lang.String str) |
void |
pushValue(int idx)
将索引处的值复制并压入栈顶。
|
int |
rawequal(int idx1,
int idx2) |
void |
rawGet(int idx) |
void |
rawGetI(int idx,
int n) |
void |
rawSet(int idx) |
void |
rawSetI(int idx,
int n) |
void |
remove(int idx)
移除索引处的值,并更新索引。
|
void |
replace(int idx)
弹出栈顶元素并替换指定位置的元素
|
int |
resume(int nArgs) |
int |
setFEnv(int idx) |
void |
setField(int idx,
java.lang.String k)
将key设置到指定table中。
|
void |
setGlobal(java.lang.String name)
给栈顶元素赋予一个全局变量名,同时将其出栈。
|
int |
setMetaTable(int idx) |
void |
setTable(int idx)
将之前压入的key与value出栈并设置到table中。
|
void |
setTop(int idx)
设置栈顶。
|
int |
status() |
int |
strLen(int idx)
获取字符串长度。
|
boolean |
toBoolean(int idx) |
int |
toInteger(int idx) |
java.lang.Object |
toJavaObject(int idx)
Function that returns a Java Object equivalent to the one in the given
position of the Lua Stack.
|
double |
toNumber(int idx) |
java.lang.String |
toString(int idx) |
LuaState |
toThread(int idx) |
int |
type(int idx)
查询元素类型。
|
java.lang.String |
typeName(int tp)
获取类型的名字。
|
void |
xmove(LuaState to,
int n) |
int |
yield(int nResults) |
public static final java.lang.Integer LUA_GLOBALSINDEX
public static final java.lang.Integer LUA_REGISTRYINDEX
public static final java.lang.Integer LUA_TNONE
public static final java.lang.Integer LUA_TNIL
public static final java.lang.Integer LUA_TBOOLEAN
public static final java.lang.Integer LUA_TLIGHTUSERDATA
public static final java.lang.Integer LUA_TNUMBER
public static final java.lang.Integer LUA_TSTRING
public static final java.lang.Integer LUA_TTABLE
public static final java.lang.Integer LUA_TFUNCTION
public static final java.lang.Integer LUA_TUSERDATA
public static final java.lang.Integer LUA_TTHREAD
public static final java.lang.Integer LUA_MULTRET
public static final java.lang.Integer LUA_ERRRUN
pcall(int, int, int)返回。public static final java.lang.Integer LUA_YIELD
public static final java.lang.Integer LUA_ERRSYNTAX
public static final java.lang.Integer LUA_ERRMEM
pcall(int, int, int)返回。public static final java.lang.Integer LUA_ERRERR
pcall(int, int, int)返回。public static final java.lang.Integer LUA_GCSTOP
public static final java.lang.Integer LUA_GCRESTART
public static final java.lang.Integer LUA_GCCOLLECT
public static final java.lang.Integer LUA_GCCOUNT
public static final java.lang.Integer LUA_GCCOUNTB
public static final java.lang.Integer LUA_GCSTEP
public static final java.lang.Integer LUA_GCSETPAUSE
public static final java.lang.Integer LUA_GCSETSTEPMUL
protected LuaState(int stateId)
stateId - protected LuaState(CPtr luaState)
luaState - public void close()
public boolean isClosed()
true if state is closed.public long getCPtrPeer()
public LuaState newThread()
public int getTop()
public void setTop(int idx)
idx - 指定栈顶位置public void pushValue(int idx)
idx - 要复制的索引。public void remove(int idx)
idx - 要移除的索引public void insert(int idx)
idx - 要插入的位置public void replace(int idx)
idx - 要替换的元素public int checkStack(int size)
size - 大小public void xmove(LuaState to, int n)
public boolean isNumber(int idx)
public boolean isString(int idx)
public boolean isFunction(int idx)
public boolean isCFunction(int idx)
public boolean isUserdata(int idx)
public boolean isTable(int idx)
public boolean isBoolean(int idx)
public boolean isNil(int idx)
public boolean isThread(int idx)
public boolean isNone(int idx)
public boolean isNoneOrNil(int idx)
public int type(int idx)
idx - 要查询的索引。public java.lang.String typeName(int tp)
tp - 类型id。LUA_T开头常量。public int equal(int idx1,
int idx2)
idx1 - 索引1idx2 - 索引2public int rawequal(int idx1,
int idx2)
public int lessthan(int idx1,
int idx2)
idx1 - 索引1idx2 - 索引2public double toNumber(int idx)
public int toInteger(int idx)
public boolean toBoolean(int idx)
public java.lang.String toString(int idx)
public int strLen(int idx)
idx - 字符串索引。public int objLen(int idx)
public LuaState toThread(int idx)
public void pushNil()
public void pushNumber(double db)
public void pushInteger(int integer)
public void pushString(java.lang.String str)
public void pushString(byte[] bytes)
public void pushBoolean(boolean bool)
public void getTable(int idx)
idx - table索引。public void getField(int idx,
java.lang.String k)
idx - table的索引。k - key.public void rawGet(int idx)
public void rawGetI(int idx,
int n)
public void createTable(int narr,
int nrec)
newTable().narr - 数组元素个数。nrec - 非数组元素个数。public void newTable()
public int getMetaTable(int idx)
public void getFEnv(int idx)
public void setTable(int idx)
idx - 要设置的table的索引。public void setField(int idx,
java.lang.String k)
idx - table的索引。k - key.public void rawSet(int idx)
public void rawSetI(int idx,
int n)
public int setMetaTable(int idx)
public int setFEnv(int idx)
public void call(int nArgs,
int nResults)
public int pcall(int nArgs,
int nResults,
int errFunc)
getGlobal(String)将其入栈。
若有参数应调用pushXXX()将参数入栈。
若有返回值,将依次入栈。最后一个返回值位于栈顶。
若返回值非0,会将错误信息入栈。nArgs - 参数个数。nResults - 返回值个数。errFunc - 错误处理函数索引,0为不处理。
错误函数被加载的时候在栈中的索引,错误处理函数必须要在被调用函数和其参数入栈之前入栈。public int yield(int nResults)
public int resume(int nArgs)
public int status()
public int gc(int what,
int data)
what - LUA_GC开头常量。data - 相关数据。public int getGcCount()
public int next(int idx)
pushNil()将初始key入栈。
在执行下一次循环之前应该先使用pop(int)将value出栈保留key.idx - table索引。public int error()
public void concat(int n)
n - 要连接的元素个数。public int LdoFile(java.lang.String fileName)
public int LdoString(java.lang.String str)
public int LgetMetaField(int obj,
java.lang.String e)
public int LcallMeta(int obj,
java.lang.String e)
public int Ltyperror(int nArg,
java.lang.String tName)
public int LargError(int numArg,
java.lang.String extraMsg)
public java.lang.String LcheckString(int numArg)
public java.lang.String LoptString(int numArg,
java.lang.String def)
public double LcheckNumber(int numArg)
public double LoptNumber(int numArg,
double def)
public int LcheckInteger(int numArg)
public int LoptInteger(int numArg,
int def)
public void LcheckStack(int sz,
java.lang.String msg)
public void LcheckType(int nArg,
int t)
public void LcheckAny(int nArg)
public int LnewMetatable(java.lang.String tName)
public void LgetMetatable(java.lang.String tName)
public void Lwhere(int lvl)
public int Lref(int t)
public void LunRef(int t,
int ref)
public int LgetN(int t)
public void LsetN(int t,
int n)
public int LloadFile(java.lang.String fileName)
public int LloadString(java.lang.String s)
public int LloadBuffer(byte[] buff,
java.lang.String name)
public java.lang.String Lgsub(java.lang.String s,
java.lang.String p,
java.lang.String r)
public java.lang.String LfindTable(int idx,
java.lang.String fname,
int szhint)
public void pop(int n)
n - 要弹出的元素个数。public void getGlobal(java.lang.String global)
global - 全局变量名public void setGlobal(java.lang.String name)
name - 变量名。public void openBase()
public void openTable()
public void openIo()
public void openOs()
public void openString()
public void openMath()
public void openDebug()
public void openPackage()
public void openLibs()
public java.lang.Object getObjectFromUserdata(int idx)
throws LuaException
idx - index of the lua stackLuaException - if the lua object does not represent a java object.public boolean isObject(int idx)
idx - index of the lua stackpublic void pushJavaObject(java.lang.Object obj)
obj - Object to be pushed into luapublic void pushJavaFunction(JavaFunction func) throws LuaException
func - LuaExceptionpublic boolean isJavaFunction(int idx)
idx - index of the lua stackpublic void pushObjectValue(java.lang.Object obj)
throws LuaException
obj - LuaExceptionpublic java.lang.Object toJavaObject(int idx)
throws LuaException
idx - Index in the Lua StackLuaExceptionpublic LuaObject getLuaObject(java.lang.String globalName)
globalName - public LuaObject getLuaObject(LuaObject parent, java.lang.String name) throws LuaException
parent - The Lua Table or Userdata that contains the Field.name - The name that index the fieldLuaException - if parent is not a table or userdatapublic LuaObject getLuaObject(LuaObject parent, java.lang.Number name) throws LuaException
parent - The Lua Table or Userdata that contains the Field.name - The name (number) that index the fieldLuaException - When the parent object isn't a Table or Userdatapublic LuaObject getLuaObject(LuaObject parent, LuaObject name) throws LuaException
parent - The Lua Table or Userdata that contains the Field.name - The name (LuaObject) that index the fieldLuaException - When the parent object isn't a Table or Userdatapublic LuaObject getLuaObject(int index)
index position
of the stackindex - position on the stackpublic static java.lang.Number convertLuaNumber(java.lang.Double db,
java.lang.Class retType)
Double.retTypedb - lua number to be convertedretType - type to convert topublic java.lang.String dumpStack()