|
||||||||||
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.PackageLib
public class PackageLib
Subclass of LibFunction
which implements the lua standard package and module
library functions.
Typically, this library is included as part of a call to either
JsePlatform#standardGlobals()
or 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.load(new PackageLib());
System.out.println( _G.get("require").call(LuaValue.valueOf("hyperbolic")) );
In practice, the first 4 lines of the above are minimal requirements to get
and initialize a globals table capable of basic reqire, print, and other functions,
so it is much more convenient to use the JsePlatform
and JmePlatform
utility classes instead.
This has been implemented to match as closely as possible the behavior in the corresponding library in C.
However, the default filesystem search semantics are different and delegated to the bas library
as outlined in the BaseLib
and JseBaseLib
documetnation.
LibFunction
,
BaseLib
,
JseBaseLib
,
JsePlatform
,
JmePlatform
,
http://www.lua.org/manual/5.1/manual.html#5.3Field Summary | |
---|---|
static java.lang.String |
DEFAULT_LUA_PATH
|
static PackageLib |
instance
Most recent instance of PackageLib |
LuaValue |
java_loader
Loader that loads as a Java class. |
LuaTable |
LOADED
|
LuaValue |
lua_loader
Loader that loads as a lua script using the LUA_PATH |
LuaTable |
PACKAGE
|
LuaValue |
preload_loader
Loader that loads from preload table if found there |
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 | |
---|---|
PackageLib()
|
Method Summary | |
---|---|
LuaValue |
call(LuaValue arg)
Call this with 1 argument, including metatag processing,
and return only the first return value. |
static Varargs |
loadlib(Varargs args)
|
Varargs |
module(Varargs args)
module (name [, ...]) Creates a module. |
LuaValue |
require(LuaValue arg)
require (modname) Loads the given module. |
void |
setIsLoaded(java.lang.String name,
LuaTable value)
Allow packages to mark themselves as loaded |
void |
setLuaPath(java.lang.String newLuaPath)
|
static java.lang.String |
toClassname(java.lang.String filename)
Convert lua filename to valid class name |
java.lang.String |
tojstring()
Convert to human readable String for any type. |
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 |
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 java.lang.String DEFAULT_LUA_PATH
public java.io.InputStream STDIN
public java.io.PrintStream STDOUT
public LuaTable LOADED
public LuaTable PACKAGE
public static PackageLib instance
public LuaValue preload_loader
public LuaValue lua_loader
public LuaValue java_loader
Constructor Detail |
---|
public PackageLib()
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 void setIsLoaded(java.lang.String name, LuaTable value)
public void setLuaPath(java.lang.String newLuaPath)
public java.lang.String tojstring()
LuaValue
tojstring
in class LibFunction
LuaValue.tostring()
,
LuaValue.optjstring(String)
,
LuaValue.checkjstring()
,
LuaValue.isstring()
,
TSTRING
public Varargs module(Varargs args)
public LuaValue require(LuaValue arg)
public static Varargs loadlib(Varargs args)
public static final java.lang.String toClassname(java.lang.String filename)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |