我对Lua很陌生。我把Lua 5.2移植到了另一个平台上。我能运行Lua脚本。但是加载模块有问题。
下面有一个sample.lua脚本。在这个脚本中,我试图使用require函数调用另一个Lua脚本中可用的函数。require函数在lua_load()和LUA_ERRSYNTAX中失败。不确定这是否是Lua5.2版本的问题。
sample.lua
require"module"
welcome()
module.lua
function welcome()
print(" Hello in module")
end
sample.lua文件中的requ
Lua的ffi.load("library")导致cannot open shared object file: No such file or directory错误。
作为一种临时解决方案,我可以提供到库的绝对或相对路径。例如:ffi.load("./liblibrary.so")。
我读过LUA_PATH和LUA_CPATH需要设置。例:
export LUA_PATH="$PWD/src/?.lua"
export LUA_CPATH="$PWD/lib/?.so"
设置LUA_PATH使我能够“要求”其他目录中的lua文
谁能告诉我在lua中是否有可能做这样的事情?它在哪里使用一个模块文件来包含使用单个lua头的其他模块文件?
--main.lua
require "std"
local test = WIDGETS[0]
--std.lua
require "std.constants" -- this is the problem its local to this file only
require "std.functions" -- this is the problem its local to this file only
-std.consta
我试图从一个扩展.w3speech中提取,发现一组似乎工作的lua代码,然而,我遵循了指令,但得到了“许可被拒绝”。代码编写器没有响应...因此,我只希望有人能检查一下这个问题,并提供一些指导。谢谢你。
Inspect_w3speech.lua
require("mod_binary_reader")
require("mod_w3strings")
local in_file = assert(arg[1], "\n\nno input\n")
local out_dir = arg[2] or "."
local debug
我正在尝试从that内部运行一个lua脚本,该脚本导入"pgmoon“库。我可以导入pgmoon并打开一个套接字,但是接下来我会遇到这样的情况:
[ALERT] 082/234313 (8) : Lua function 'queue-request': runtime error: /usr/local/share/lua/5.3/pgmoon/init.lua:269: module 'pgmoon.crypto' not found:
no field package.preload['pgmoon.crypto']
no file
我试图使一个lua文件需要另一个。我正在遵循以下指南:
我的基本测试--应该是一个微不足道的hello世界--不起作用,我也不知道为什么。
下面是一个控制台日志,它显示了所有文件和所有错误:
C:\Users\TestUser\Desktop\LuaTest>dir
Volume in drive C has no label.
Volume Serial Number is XXXX-XXXX
Directory of C:\Users\TestUser\Desktop\LuaTest
11/15/2017 03:03 PM <DIR>
我有一个lua表,我用它在文件之间共享值。但是我在下面的例子中感到困惑
utility.lua文件
M = {}
M.host_url = '192.168.0.1'
function M.myFunc()
print(M.host_url )
end
return M
在我的main.lua
utility = require('utility')
utility.myFunc() -- this gives me 'a nil value' error
我得到一个错误(nil值)的host_url?
我尝试按照这个问题()中的建议使用build.cmd文件进行安装。这就是结果:
mingw32-make: *** No targets specified and no makefile found. Stop.
**** COMPILATION TERMINATED ****
**** BUILDING BINARY DISTRIBUTION ****
The system cannot find the path specified. The system cannot find the path specified. The system cannot find the path
我有一个名为backup.lua的文件,程序应该经常写入该文件,以便在发生故障时备份它的状态。问题是,程序第一次编写backup.lua文件时完全没有问题,但是任何其他时候它都拒绝写入该文件。
我试图在程序打开时删除该文件,但Windows告诉我,该文件正在由“CrysisWarsDdicatedServer.exe”使用,该程序就是该程序。我已经告诉主机Lua函数关闭backup.lua文件,那么为什么它不允许我在文件关闭后随意修改它呢?
我在互联网上找不到任何东西(谷歌实际上试图纠正我的搜索),而这个项目的副程序员也不知道。所以我想知道你们中有没有人知道我们做错了什么?
主机功能代码:
f
我是Lua的新手,使用了一些教程,尝试了一些基本的东西,比如编写通用算法等。
但是我在我的mac os机器上使用lua解释器时遇到了一些问题。
例如,我们有一个名为'sample.lua‘的文件,其中包含以下代码行:
function fib(n) return n<2 and n or fib(n-1)+fib(n-2) end
如何从终端运行该函数?如果我不使用任何函数,我只需要使用'lua script.lua‘来调用脚本-工作!
下一个问题是关于非编译的lua-source和编译的lua-source之间的基本理解。为什么lua代码不需要编译就可以运行,就像我之前
在lua(对于Domoticz @ Raspberry)中,我应用以下脚本段来生成一个htm文件并将其放入指定的文件夹中。
Line02text直到Line30text是在lua-脚本的其他地方动态填充的变量。
file = io.open("/home/pi/domoticz/scripts/lua/XXXXX.htm", "w+")
-- Opens a file named XXXXX.htm (stored under the designated sub-folder of Domoticz)
-- in append mode
-- write li
我尝试在一个名为"Point“的文件"basic.lua”上定义我的类,并试图在文件"main.lua“上实现它,但我一直收到这个错误:
Error
Syntax error: basic.lua:3: '(' expected near 'Point'
Traceback
[C]: at 0x7ffc269728f0
[C]: in function 'require'
main.lua:3: in function 'load'
[C]: in function 'xpcall'
假设我有两个来自标准Lua的Lua文件,它们共享一个公共库:
common.lua
function printHello(name)
print("Hello from " .. name)
end
file1.lua
require "common"
local scriptName = "file1"
function doSomething()
printHello(scriptName)
end
file2.lua
require "common"
local scriptName = "fil