像许多“(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 或“没有找到给定函数的帮助”) 结尾