我目前正在开发一个模块,该模块允许在Lua中轻松地实现类JS类。
我增加了扩展类的能力,但是我有两次扩展类的问题,这似乎是超级构造函数中的某种问题,它导致了递归调用,但是我似乎不知道bug是从哪里来的,任何帮助都是非常感谢的。
模块:
local ClassCreator = {}
ClassCreator.extends = {__extends = true}
local function modifyFnEnv(f, env)
local fEnv = getfenv(f)
for i,v in pairs(env) do fEnv[i] = v end
set
我尝试使用tarantool作为应用服务器,并希望从tarantool连接到mysql。
在lua中,我编写了一个函数:
local function mysql_data(query, limit)
local conn = mysql.connect({host = mysql_host, user = mysql_user, password = mysql_password, db = mysql_database})
local tuples = conn:execute(query, limit)
return tuples
end
但在日志中我看到:
我在树莓皮上有一个MySQL Db,IP:192.168.100.230。
我有一个NodeMCU (ESP8266) IP:192.168.100.150。
raspberry pi MySQL有以下用于开发的数据库:
Database: pythonProg
User: pythonUser
Pass: password123
Table: espTest
我试图让ESP8266使用LUA将一个温度(Integer)记录到Pi上的数据库中。
我必须测试连接的代码是:
-- Script to test the connection to a MySQL Db
mysql = require
我对luarocks很陌生,我只是试着安装luarepl。安装工作显然进行得很顺利:
$ luarocks install luarepl
Installing https://luarocks.org/luarepl-0.8-1.rockspec...
Using https://luarocks.org/luarepl-0.8-1.rockspec... switching to 'build' mode
Updating manifest for /Users/me/.luarocks/lib/luarocks/rocks-5.1
luarepl 0.8-1 is now
我在这方面找到了一些参考资料,但我无法使它们发挥作用。我有一个带有mysql和mysql代理的Debian盒。我正在用LUA脚本拦截SQL查询。
function read_query(packet)
if packet:byte() ~= proxy.COM_QUERY then
print("error read (COM_QUERY)")
end
local query = packet:sub(2)
print ("query : " .. query )
如何列出Lua源文件中包含的所有函数?
例如,我有一个包含以下内容的fn.lua
function test1()
print("Test 1")
end
function test2()
print("Test 2")
end
我希望能够从另一个Lua脚本中显示这些函数名(test1,test2)。
目前我能想到的唯一方法是使用require包含文件,然后列出_G中的函数-但这也将包括所有标准的Lua函数。
当然,我可以使用字符串搜索函数手动解析文件,但这对我来说似乎不是很好!
这最终将成为一个过程的一部分,该过程允许开发人员
我下载了mysql-async,essentialmode,esplugin_mysql,es_admin2,async,它显示了这个错误。 是关于什么的?请帮助我,我正在尝试创建我的服务器。 [ERROR] connect ETIMEDOUT
Connecting: kworthbati
Sending heartbeat to live-internal.fivem.net:30110
[ERROR] [MySQL] [esplugin_mysql] An error happens on MySQL for query
"SELECT
我正在使用redis和mysql为openresty项目,我试图用init_worker_by_lua初始化数据库,但我收到了下面的错误。
我的db.lua代码:
local mysql = require("resty.mysql") -- Introduce mysql
local redis = require("resty.redis") -- Introduce Redis
local db, err = mysql:new()
if not db
系统配置:
OS: Windows 7 x64
lua -v
Lua 5.1.4
luarocks -v
2.2.0beta1
luarocks list
luasocket
3.0rc1-1 (installed) - C:/Program Files (x86)/LuaRocks/systree/lib/luarocks/rocks
luarocks show luasocket
LuaSocket 3.0rc1-1 - Network support for the Lua language
LuaSocket is a Lua extensi
我有一个用来读取Lua的类,我想让它可以一次加载多个脚本,而不会发生冲突,也就是说,当第一个脚本执行时,Lua变量的值被保存在第一个脚本中。 我希望程序能输出它- print = 123
print = Hi 0
Result = 3
print = Hi 1
Result = 3
print = Hi 2
Result = 3
print = Hi 3
Result = 3
print = Hi 4
Result = 3
print = Hi 5
Result = 3
print = Hi 6
Result = 3
print = Hi 7
Result = 3
print = 123
我在Windows上使用ZeroBrane远程调试我在linux上的程序。
我的程序从c++调用lua。
但是不能命中断点。
ZeroBrane输出如下:
Debugger server started at AGOC3-706:8172.
[192.168.88.238:47444] Debugger sent (command): basedir D:\WorkSpace\sichuan\branches\v1.0.1-2017-07-12\lua\
New base directory is D:/WorkSpace/sichuan/branches/v1.0.1-2017-07-12/
我对Lua很陌生。我使用将一个JS文件编译为Lua5.2
castl -o script.js
这创建了一个名为script.js.lua.的文件这是我的新lua文件的第一行:
local _ENV = require("castl.runtime");
我试着用lua52 script.js.lua运行该文件,但是我得到了以下错误:
C:\Program Files\lua-5.2.4_Win64_bin\lua52.exe: script.js.lua:1: module 'castl.runtime' not found:
no field