Mercurial Hosting > luan
view src/luan/lib/init.luan @ 150:f35c50027985
make load() more consistent
git-svn-id: https://luan-java.googlecode.com/svn/trunk@151 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Mon, 16 Jun 2014 10:11:48 +0000 |
parents | f99fd64291b3 |
children | d310ebf4d6e7 |
line wrap: on
line source
function Package.preload_java(name,path) Package.preload[name] = Package.get_loader(path) end function Package.load_java(name,path) Package.preload_java(name,path) local mod = require(name) _G[name] = mod return mod end local Basic = Package.load_java("Basic","luan.lib.BasicLib.LOADER") local String = Package.load_java("String","luan.lib.StringLib.LOADER") local Table = Package.load_java("Table","luan.lib.TableLib.LOADER") local Io = Package.load_java("Io","luan.lib.IoLib.LOADER") Package.load_java("Math","luan.lib.MathLib.LOADER") Package.load_java("Html","luan.lib.HtmlLib.LOADER") Package.load_java("Thread","luan.lib.ThreadLib.LOADER") Package.load_java("Binary","luan.lib.BinaryLib.LOADER") Package.load_java("Os","luan.lib.OsLib.LOADER") Package.preload_java("Java","luan.lib.JavaLib.LOADER") Package.preload_java("Http","luan.lib.HttpLib.LOADER") function Io.print_to(out,...) local list = {} for _,v in Basic.values(...) do list[#list+1] = _G.to_string(v) list[#list+1] = '\t' end if #list == 0 then out.write( '\n' ) else list[#list] = '\n' out.write( Table.unpack(list) ) end end function _G.print(...) Io.print_to(Io.stdout,...) end local Debug = {} Package.loaded.Debug = Debug _G.Debug = Debug function Debug.print_if_something(...) if Table.pack(...).n > 0 then _G.print(...) end end function Debug.debug(prompt) prompt = prompt or "luan_debug> " local function console() return Io.read_console_line(prompt) end local env = {} for line in console do try local fn = _G.load(line,"stdin",env,true) Debug.print_if_something( fn() ) catch e do _G.print(e) end end end -- import modules _G.Reactionary = require "Reactionary"