कई "(विंडोज़) उपयोगकर्ताओं की तरह" मैं स्रोत से कुछ भी संकलित करने के लिए सीखने में समय बिताना नहीं चाहता हूं। तो लुआ एक शौकिया के लिए बहुत अच्छा विकल्प लगता है।मैं मॉड्यूल कैसे सूचीबद्ध कर सकता हूं और कमांड लाइन पर फ़ंक्शन मौजूद कर सकता हूं?
क्षमा करता है, तो यह एक बहुत ही सरल समस्या है - लेकिन ...
Q1। मैं दुभाषिया के किसी भी दिए गए उदाहरण के लिए उपलब्ध मॉड्यूल कैसे सूचीबद्ध कर सकता हूं?
कुछ बाइनरी डिस्ट्रोज़ में डीएलएल के रूप में संकलित कई मॉड्यूल हैं, और कुछ ने उन्हें मुख्य EXE में जोड़ा है। यह जानना अच्छा होगा कि EXE में कौन से मॉड्यूल बनाए गए हैं, और जांचें कि सीपीएथ किसी अन्य डीएलएल मॉड्यूल को ढूंढ रहा है।
प्रश्न 2। लुआ में कमांड लाइन पर मदद पाने का कोई तरीका है?
जैसा कि मैं लूआ के लिए नया हूं, मुझे किसी दिए गए फ़ंक्शन के लिए सहायता प्राप्त करने का एक आसान तरीका चाहिए। कुछ व्याख्या की गई भाषाओं में एक सहायता ("fname") फ़ंक्शन है, मैटलैब एक अच्छा उदाहरण है।
क्यू 3। क्या जीएसएल-शैल से यह कार्य एक सहायता प्रणाली के आधार के रूप में संशोधित किया जा सकता है? (यह सिर्फ एक दिया समारोह के अस्तित्व की पुष्टि यहां तक कि अगर यह मदद मिलेगी)
local ffi = require 'ffi' local help_files = {'graphics', 'matrix', 'iter', 'integ', 'ode', 'nlfit', 'vegas', 'rng', 'fft'} local cdata_table = {'matrix', 'complex matrix', 'complex'} local function help_init(...) local REG = debug.getregistry() REG['GSL.help_hook'] = {} end local function open_module(modname) local fullname = string.format('help/%s', modname) local m = require(fullname) return m end local function search_help(func) for k, modname in ipairs(help_files) do local mt = getmetatable(func) local module = open_module(modname) if module[func] then local help_text = module[func] return help_text end end end help_init() -- declare a global function function help(x) local txt if type(x) == 'function' then txt = search_help(x) elseif type(x) == 'userdata' then local mt = getmetatable(x) if mt then txt = search_help(mt) end elseif type(x) == 'cdata' then local cname = gsl_type(x) if cname then txt = search_help(cname) end end --- Could we check that the function exists? print(txt or "No help found for the given function") end
प्रश्न 1: ऐसा करने के लिए कोई अंतर्निहित या वास्तव में केंद्रीकृत तरीका नहीं है। मेरी सलाह [लुआडिस्ट] (http://luadist.org/) और [लुआरोक्स] (http://luarocks.org/) लुआ पैकेज मैनेजर्स की जांच करना होगा :) भी ... शायद आपको मिलेगा [एलएफडब्लू] (http://code.google.com/p/luaforwindows/) (विंडोज़ के लिए लुआ) परियोजना या तो उपयोगी ... – Kamiccolo