像许多“(windows)用户”一样,我不想花时间学习从源代码编译任何东西。所以Lua对于一个爱好者来说似乎是一个非常不错的选择。
对不起,如果这是一个非常简单的问题 - 但是......
Q1。如何列出可用于任何给定解释器实例的模块?
一些二进制发行版有许多编译为 DLL 的模块,还有一些将它们添加到主 EXE 中。很高兴知道 EXE 中内置了哪些模块,并检查 cpath 是否找到任何其他 DLL 模块。
Q2。有没有办法在 Lua 的命令行中获得帮助?
由于我是 Lua 新手,我想要一种简单的方法来获得任何给定功能的帮助。在一些解释语言中有一个 help("fname") 函数,Matlab 就是一个很好的例子。
Q3。GSL-Shell 的这个功能可以修改为帮助系统的基础吗?(即使它只是确认给定功能的存在也会有所帮助)
本地 ffi = 需要 'ffi'
本地帮助文件 = {'graphics'、'matrix'、'iter'、'integ'、'ode'、'nlfit'、'vegas'、'rng'、'fft'}
本地 cdata_table = {'矩阵','复杂矩阵','复杂'}
本地函数 help_init( ... )
本地 REG = debug.getregistry()
REG['GSL.help_hook'] = {}
结尾
本地函数 open_module(modname)
本地全名 = string.format('help/%s', modname)
本地 m = 要求(全名)
返回米
结尾
本地函数 search_help(func)
对于 k,ipairs(help_files) 中的 modname 执行
本地 mt = getmetatable(func)
本地模块 = open_module(modname)
如果模块 [func] 那么
本地帮助文本 = 模块 [函数]
返回帮助文本
结尾
结尾
结尾
帮助初始化()
-- 声明一个全局函数
函数帮助(x)
本地txt
如果 type(x) == 'function' 那么
txt = search_help(x)
elseif type(x) == 'userdata' 然后
本地 mt = getmetatable(x)
if mt then txt = search_help(mt) end
elseif type(x) == 'cdata' 然后
本地 cname = gsl_type(x)
if cname then txt = search_help(cname) end
结尾
--- 我们可以检查该函数是否存在?
print(txt 或“没有找到给定函数的帮助”)
结尾