|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.luaj.vm2.Varargs org.luaj.vm2.LuaValue org.luaj.vm2.LuaFunction org.luaj.vm2.lib.LibFunction org.luaj.vm2.lib.OneArgFunction 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 | |
---|---|
static ResourceFinder |
FINDER
Singleton file opener for this Java ClassLoader realm. |
static BaseLib |
instance
|
java.io.PrintStream |
STDERR
|
java.io.InputStream |
STDIN
|
java.io.PrintStream |
STDOUT
|
Fields inherited from class org.luaj.vm2.lib.LibFunction |
---|
name, opcode |
Fields inherited from class org.luaj.vm2.LuaFunction |
---|
env, s_metatable |
Fields inherited from class org.luaj.vm2.LuaValue |
---|
ADD, CALL, CONCAT, DIV, EMPTYSTRING, 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()
Construct a base libarary instance. |
Method Summary | |
---|---|
LuaValue |
call(LuaValue arg)
Call this with 1 argument, 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 . |
static Varargs |
loadFile(java.lang.String filename)
Load from a named file, returning the chunk or nil,error of can't load |
static Varargs |
loadStream(java.io.InputStream is,
java.lang.String chunkname)
|
static Varargs |
pcall(LuaValue func,
Varargs args,
LuaValue errfunc)
|
Methods inherited from class org.luaj.vm2.lib.OneArgFunction |
---|
call, call, call, invoke |
Methods inherited from class org.luaj.vm2.lib.LibFunction |
---|
bind, bind, newupe, newupl, newupn, tojstring |
Methods inherited from class org.luaj.vm2.LuaFunction |
---|
checkfunction, getfenv, getmetatable, isfunction, optfunction, setfenv, 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, subargs, 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 |
Field Detail |
---|
public static BaseLib instance
public java.io.InputStream STDIN
public java.io.PrintStream STDOUT
public java.io.PrintStream STDERR
public static ResourceFinder FINDER
Constructor Detail |
---|
public BaseLib()
Method Detail |
---|
public LuaValue call(LuaValue arg)
LuaValue
this
with 1 argument, 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 OneArgFunction
arg
- First argument to supply to the called function
(this(arg))
, or NIL
if there were none.LuaValue.call()
,
LuaValue.call(LuaValue,LuaValue)
,
LuaValue.call(LuaValue, LuaValue, LuaValue)
,
#invoke(LuaValue)
,
LuaValue.method(String,LuaValue)
,
LuaValue.method(LuaValue,LuaValue)
public java.io.InputStream findResource(java.lang.String filename)
findResource
in interface ResourceFinder
BaseLib
,
JseBaseLib
public static Varargs pcall(LuaValue func, Varargs args, LuaValue errfunc)
public static Varargs loadFile(java.lang.String filename)
public static Varargs loadStream(java.io.InputStream is, java.lang.String chunkname)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |