|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.luaj.vm2.Varargs
org.luaj.vm2.LuaValue
org.luaj.vm2.LuaFunction
org.luaj.vm2.lib.LibFunction
org.luaj.vm2.lib.TwoArgFunction
org.luaj.vm2.lib.BaseLib
public class BaseLib
Subclass of LibFunction
which implements the lua basic library functions.
This contains all library functions listed as "basic functions" in the lua documentation for JME.
The functions dofile and loadfile use the
#FINDER
instance to find resource files.
Since JME has no file system by default, BaseLib
implements
ResourceFinder
using Class.getResource(String)
,
which is the closest equivalent on JME.
The default loader chain in PackageLib
will use these as well.
To use basic library functions that include a ResourceFinder
based on
directory lookup, use JseBaseLib
instead.
Typically, this library is included as part of a call to either
JmePlatform#standardGlobals()
To instantiate and use it directly,
link it into your globals table via LuaValue.load(LuaValue)
using code such as:
LuaTable _G = new LuaTable();
LuaThread.setGlobals(_G);
_G.load(new BaseLib());
_G.get("print").call(LuaValue.valueOf("hello, world"));
Doing so will ensure the library is properly initialized
and loaded into the globals table.
This is a direct port of the corresponding library in C.
JseBaseLib
,
ResourceFinder
,
#FINDER
,
LibFunction
,
JsePlatform
,
JmePlatform
,
http://www.lua.org/manual/5.1/manual.html#5.1Field Summary |
---|
Fields inherited from class org.luaj.vm2.lib.LibFunction |
---|
name, opcode |
Fields inherited from class org.luaj.vm2.LuaFunction |
---|
s_metatable |
Fields inherited from class org.luaj.vm2.LuaValue |
---|
ADD, CALL, CONCAT, DIV, EMPTYSTRING, ENV, EQ, FALSE, INDEX, LE, LEN, LT, METATABLE, MINUSONE, MOD, MODE, MUL, NEWINDEX, NIL, NILS, NONE, NOVALS, ONE, POW, SUB, TBOOLEAN, TFUNCTION, TINT, TLIGHTUSERDATA, TNIL, TNONE, TNUMBER, TOSTRING, TRUE, TSTRING, TTABLE, TTHREAD, TUSERDATA, TVALUE, TYPE_NAMES, UNM, ZERO |
Constructor Summary | |
---|---|
BaseLib()
|
Method Summary | |
---|---|
LuaValue |
call(LuaValue modname,
LuaValue env)
Call this with 2 arguments, including metatag processing,
and return only the first return value. |
java.io.InputStream |
findResource(java.lang.String filename)
ResourceFinder implementation Tries to open the file as a resource, which can work for JSE and JME. |
Varargs |
loadFile(java.lang.String filename,
java.lang.String mode,
LuaValue env)
Load from a named file, returning the chunk or nil,error of can't load |
Varargs |
loadStream(java.io.InputStream is,
java.lang.String chunkname,
java.lang.String mode,
LuaValue env)
|
Varargs |
pcall(LuaValue func,
Varargs args,
LuaValue errorfunc)
|
Methods inherited from class org.luaj.vm2.lib.TwoArgFunction |
---|
call, call, call, invoke |
Methods inherited from class org.luaj.vm2.lib.LibFunction |
---|
bind, bind, call, newupe, newupl, newupn, tojstring |
Methods inherited from class org.luaj.vm2.LuaFunction |
---|
checkfunction, classnamestub, getmetatable, isfunction, name, optfunction, strvalue, type, typename |
Methods inherited from class org.luaj.vm2.Varargs |
---|
argcheck, checkboolean, checkclosure, checkdouble, checkfunction, checkint, checkinteger, checkjstring, checklong, checknotnil, checknumber, checkstring, checktable, checkthread, checkuserdata, checkuserdata, checkvalue, eval, isfunction, isnil, isnoneornil, isnumber, isstring, istable, isTailcall, isthread, isuserdata, isvalue, optboolean, optclosure, optdouble, optfunction, optint, optinteger, optjstring, optlong, optnumber, optstring, opttable, optthread, optuserdata, optuserdata, optvalue, toboolean, tobyte, tochar, todouble, tofloat, toint, tojstring, tolong, toshort, touserdata, touserdata, type |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public BaseLib()
Method Detail |
---|
public LuaValue call(LuaValue modname, LuaValue env)
LuaValue
this
with 2 arguments, including metatag processing,
and return only the first return value.
If this
is a LuaFunction
, call it,
and return only its first return value, dropping any others.
Otherwise, look for the CALL
metatag and call that.
If the return value is a Varargs
, only the 1st value will be returned.
To get multiple values, use LuaValue.invoke()
instead.
To call this
as a method call, use LuaValue.method(LuaValue)
instead.
call
in class TwoArgFunction
modname
- First argument to supply to the called functionenv
- Second argument to supply to the called function
(this(arg1,arg2))
, or NIL
if there were none.LuaValue.call()
,
LuaValue.call(LuaValue)
,
LuaValue.call(LuaValue, LuaValue, LuaValue)
,
#invoke(LuaValue,LuaValue)
,
LuaValue.method(String,LuaValue,LuaValue)
,
LuaValue.method(LuaValue,LuaValue,LuaValue)
public java.io.InputStream findResource(java.lang.String filename)
findResource
in interface ResourceFinder
BaseLib
,
JseBaseLib
public Varargs pcall(LuaValue func, Varargs args, LuaValue errorfunc)
public Varargs loadFile(java.lang.String filename, java.lang.String mode, LuaValue env)
env
- mode
-
public Varargs loadStream(java.io.InputStream is, java.lang.String chunkname, java.lang.String mode, LuaValue env)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |