在Lua中使用IUP获取输入

我一直在尝试用IUP来制作一个小的乒乓球游戏。我想尝试一些输入,并尝试了IUPGL示例附带的一些代码,但输入似乎根本不起作用。以下是迄今为止的代码: require "iuplua" require "iupluagl" require "luagl" paddle = {x = -0.9, y = 0.2} function drawPaddle(x, y) gl.Begin(gl.QUADS) gl.Color(0.0, 0.5, 0.0) gl.Vertex(

如何获取Lua表中的条目数?

听起来像是一个“让我帮你搜索一下”的问题,但不知为什么我找不到答案。Lua#运算符只对具有整数键的条目进行计数,表也是如此。getn: tbl = {} tbl["test"] = 47 tbl[1] = 48 print(#tbl, table.getn(tbl)) -- prints "1 1" count = 0 for _ in pairs(tbl) do count = count + 1 end print(count) -- prints "2"

如何发现lua环境中可用的内容?

现在很多游戏都提供了一些lua脚本,但这是普遍没有文档记录的 假设我可以让一个游戏运行我的lua脚本(它是Lua5.1)——脚本可以将它找到的内容写入磁盘上的文本文件。我可以了解脚本执行环境的多少信息 例如,我似乎可以在表中列出键,找出什么是函数,什么是其他类型的对象,但没有明显的方法来猜测函数需要多少参数(错误通常会导致桌面崩溃) 大多数语言都提供了一些可以在这里使用的反射功能—在嵌入式lua环境中可以使用多少?不幸的是,对于lua中的函数,您可以了解的不多—它们在设计上接受任意数量的参数。如

Lua沙箱-消除函数创建

我在luawiki/here/etc上读过关于如何对Lua代码进行沙箱处理的文章。但是我还没有找到禁止函数创建的东西。例如,该示例提供的示例代码如下: assert(run [[function f(x) return x^2 end; t={2}; t[1]=f(t[1])]]) 这是一个空的环境。但是我想消除在代码的第一部分创建函数的能力-例如,只允许表达式。你知道怎么做吗?它一定要用C吗?提前谢谢 如果只想计算表达式,可以尝试以下方法: function run(s) return lo

从另一个Lua文件加载Lua文件时,如何将参数传递给该文件?

我需要一些关于解析lua文件的命令行的帮助。我正在执行一个lua文件,该lua文件有一个命令“dofile(2nd.lua file)”,但是,我想通过这个第一个lua文件向这个第二个lua文件传递一些参数 范例- a、 lua有dofile(“b.lua”),现在我必须通过这个a.lua将一些参数传递给b.lua,我如何才能做到这一点。试试这个。在文件“a.lua”中: assert(loadfile(“b.lua”))(10,20,30) 在文件b.lua中: 本地a、b、c=… 或 loc

Lua模式-如何使用此Lua模式获取所需字符串

我使用的模式是 local invoiceData = [[I N V O I C E Invoice No. : ABCDEFG125469857 Invoice Date May 2012 ]] 我想将字符串发票日期提取为五月12日。或0512。。请帮忙 谢谢不要与-匹配,请更具体地使用%w+(alpha nums)和%d+(数字)来匹配月份和年份 剧本: print (string.match(invoiceData,'\nInvoice Date (.-)\n')) 将打印: lo

Lua中的进程间通信

我有两个应用程序(都是纯Lua,在Windows上),它们应该能够相互通信。我成功地使用了luasocket TCP/IP模块;但是我想知道我还可以使用什么方法来实现这一点?Steve Donovan的库通过命名管道支持IPC,这类似于Unix域套接字 可供参考。< P>如果你想要多平台的话,考虑0MQ;Lua绑定我喜欢用来在应用程序之间进行通信。它非常容易使用,并且可以在多平台上使用(通过CORBA) 您可以创建一个简单的界面并创建结构化数据,这比您自己解析消息要容易理解得多。谢谢。但我找不到

Lua 如何以编程方式检查LOVE2D版本

如果LOVE2D的当前版本优于给定的最低版本,如何确保.love文件只运行?如果不进行某种检查,所产生的错误可能是模糊的,并且似乎与LOVE版本无关,这需要用户花费大量时间尝试根据误导性错误诊断问题。您可以添加t.version=“0.8.0”添加到您的conf.lua,如果用户使用的是0.8.0以外的版本,它将警告用户。你不应该阻止不匹配的版本,你应该警告他们 下面是conf.lua的一个示例: function love.conf(t) t.title = "Game title"

存储脚本 我在C++游戏引擎中实现Lua脚本引擎,我想知道存储和执行Lua脚本的最佳方法是什么。我有很多场景节点,每个节点都可以指定自己的脚本。对特定脚本的每一帧调用lauL\u dofile(…)是可行的选择,还是有更好的方法?例如,是否有方法存储已解析的脚本?我正在查看luaL_loadfile和lua_pcall。我想我会用第一个加载脚本,并在需要时用第二个调用它们,但lua_pcall似乎没有唯一的id作为参数,所以我应该如何知道要执行哪个脚本?

正如我所评论的,您通常在初始化时调用luaL_loadfile。加载的文件通常将一些[global]名称(或填充某些全局表中的一些槽)定义为Lua函数。给出了如何调用其中一个的示例(§4lua_call)。您将在应用程序的适当位置执行此类调用(可能使用lua\u pcall或lua\u调用),方法是在lua堆栈上推送适当的内容。如果要使用lua API,您需要熟悉lua堆栈。您可以学习的最重要的事情之一是理解如何读取每个函数,右边有一个符号,表示它如何影响堆栈(如果它修改了堆栈) luaL_lo

Lua中的贪婪/非贪婪模式匹配和可选后缀

在Lua中,我尝试模式匹配和捕获: +384 Critical Strike (Reforged from Parry Chance) 作为 其中后缀(从%s重新折叠)是可选的 长版本 我在试着匹配一个字符串 注意:在Lua中,他们不称之为正则表达式,他们称之为模式,因为它们不是 示例字符串: +384 Critical Strike +1128 Hit 我想将其分为两部分: 数字,带前导正或负指示器;在这个案例中是+384 在本例中,字符串是暴击 我可以使用一个相当简单的模式捕获这些

Lua和松散模式

在Lua中,如何将123与11122333字符串进行匹配,并找到1、2和3?有没有一种模式可以做到这一点?不是附加单个字符检查?您是在询问忽略重复字符还是在任何其他字符的较大序列(例如在a1b2c3d)中查找123序列 local str = '11122333' str = str:gsub('.','\0%0%0'):gsub('(.)%z%1',''):gsub('%z.','')

Lua注册表:它是由线程共享的吗?

Lua提供了一个“任何C代码都可以使用它来存储它需要存储的任何Lua值”。正如所说,线程“与原始线程共享其全局环境”。但我找不到任何地方,上面写着它是否共享登记册 所以这基本上就是我的问题:如果线程是从相同的原始状态派生的,那么它们是否共享LUA_REGISTRYINDEX中可访问的表?LUA注册表是LUA_状态*的一部分,因此使用或包含在给定LUA_状态中的任何东西(例如LUA线程:Co例程)也将共享其注册表 Lua线程(co例程)是创建它们的Lua\u状态*的一部分,因此共享相同的注册表 O

Lua 如何使LPeg.match返回零

我目前正在熟悉LPeg解析器模块。为此,我想将一个版本字符串(例如,11.4)与一个列表进行匹配 这样的列表是一个具有紧凑语法的字符串,也可以包含范围。下面是一个类似于EBNF的语法,但在任何情况下都非常简单(我写下它是因为下面的LPeg代码可能有点难以阅读): 示例字符串为1-9,10.1-11,12。以下是我的代码: local L = require "lpeg" local LV, LP, LC, LR, floor = L.V, L.P, L.C, L.R, math.floor lo

Lua 如何在corona sdk中集成全屏RevMob广告

我想集成全屏RevMob广告,并能够添加它,但我有时会遇到错误,当我尝试单击广告打开它并同时关闭添加时,会删除Listener nil值。请给出如何解决此问题的任何建议。。谢谢 local storyboard = require "storyboard" local RevMob = require("revmob") display.setStatusBar(display.HiddenStatusBar) local fullscreen local revmobListener

Lua 设置矩形颜色更改的动画

嘿,伙计们,我只是想知道我如何能使一个矩形的颜色变化平稳过渡?例如,我有一个基本的灰色矩形背景,我把它变成红色,问题是颜色的变化是瞬间的。我怎样才能在几秒钟内逐渐改变呢 这是我的快速示例。干杯 local myRectangle = display.newRect(0, 0, 480, 320) myRectangle.strokeWidth = 3 myRectangle:setFillColor(140, 140, 140) local function chan

Can';t在Lua中将数学表达式转换为数字

似乎不起作用。我该怎么办?您不能将表达式转换为数字,但可以用表达式定义匿名函数,用Lua编译它,并生成一个值,如下所示: > print(tonumber("2+2")) nil f = loadstring("return 2+2") print(f()) -- Prints 4

对event.type Lua感到困惑

我从一本书开始学习方向。我对代码event.type感到非常困惑 这是书中的代码: portrait = display.newText ("Portrait", display.contentWidth / 2,display.contentHeight / 2, nil,20) portrait: setFillColor ( 1,1,1 ) portrait.alpha = 1 landscape = display.newText ("Landscape", display.

Lua 当物体被击中时删除相应的文本

我的问题是,我可以让文本消失,但我想要的是让文本消失时,气球,他们被击中。例如,我命中了第一个包含“BallooText”的气球,代码如何确定命中的是包含“BallooText”的气球?因为生成的所有引出序号都称为“引出序号” function createBalloons(a, b) for i = 1, a do for j = 1, b do local balloon = display.newImage ('balloon_fat_red.png',

Lua 使用碰撞检测检测正方形的哪一侧碰撞

我正在使用Corona SDK检测碰撞。我可以使用以下代码检测碰撞是在正方形的左侧还是右侧: if (event.other.x < displayObj.x) 如何检测正方形顶部是否与某物碰撞?您可以使用线性代数!向量和点积对于计算你想要什么非常有用。如果你在谷歌上搜索:Half space test dot product 假设您有一个名为a的盒子和碰撞点B,位置为(a.x,a.y)和(B.x,B.y),盒子的前进方向由(a.dirX,a.dirY)确定,您可以确定点B是在盒子a的前

Computercraft Lua将零更改为0

我正在使用Computercraft,一个Minecraft mod,我需要一些帮助。我试图找到一种类型的所有外围设备,从中获取能量,并将它们添加到一起。然而,我得到一个“尝试在nill上执行算术”或一些错误。这是我的密码: local periList = peripheral.getNames() energy = 0 totalenergy = 0 for i = 1, #periList do if peripheral.getType(periList[i]) == "cofh_

Lua 如何使用lunadry?

我尝试使用Lua重新格式化一些非常难看的代码,但每次尝试时都会出现以下错误: Formatting i,h ./lunadry: line 85: i,h: No such file or directory 我试过我能想到的论点,我觉得我错过了一件非常简单的事情:p 我阅读了自述文件,其中说通过以下方式使用它: ./lunadry --in-place file.lua 但是,每次我都会犯同样的错误。有人能告诉我如何正确使用它吗?lunadry期望GNU getopt行为 OSX(和其他B

Lua 小部件背面的小部件

在awesome wm中是否可以在其他小部件的上方绘制小部件?例如:在progressbar上用一些文本(百分比)绘制texbox 这是一个有效的解决方案 local function make_stack(w1, w2) local ret = wibox.widget.base.make_widget() ret.fit = function(self, ...) return w1:fit(...) end ret.draw = function(self, wi

Lua Aerospike Group By

我有以下结构的aerospike设置 箱子:物品、时间戳、数量、价格、折扣 我试图实现以下等价的SQL SELECT item, sum(qty), sum(price), sum(discount) FROM items WHERE timestamp between 20150101000000 and 20150101235959 GROUP BY item 我试图编写以下lua脚本,但是在执行脚本时,我得到以下错误 错误:(1)AEROSPIKE\u ERR\u服务器:“UDF:执行错

Lua 程序在第一次循环后不再循环

我正在用corona sdk制作一个simon says游戏,使用Lua作为我的主要语言,我已经编写了几个函数。当我运行我的代码时,它成功地通过了第一个循环,但在轮到我单击框之后,在我单击正确的框之后,程序只是停止,并在声明它是正确的之后给我一个游戏,而不是再次循环并用随机数向模式添加另一个模式索引。。。因此,再次按以下顺序请求用户输入 我已将初始值设置为: started = false pattern = true gameOver = false repeating = true 以下是

loadstring lua创建子函数的环境

为什么对f()和g()的调用会给出不同的结果?它们都从父函数run继承环境,但f()不会更改j myString = "print('i,j in myString before setting', i, j);\ i = 'fi'; j ='fj'\ print('i,j in myString after setting', i,j)" j = 1 print('j initial value', j) function run(i)

Lua 奇数校验和结果-未收到预期结果

我一直在尝试根据文件头生成校验和,但收到的结果相互矛盾。在从属设备手册中,它规定了以下内容以生成校验和: “头校验和使用简单的八位计算。所需步骤如下: 计算单个字节中头字节的总和。或者计算 求和,然后用FFhex计算结果 校验和=FFhex-步骤1中的和。“ 在这里,我在Lua中创建了以下代码: function header_checksum(string) local sum = 0 for i = 1, #string do sum = sum + strin

这一行在Lua语言中的作用是什么?

这一行在Lua语言中的作用是什么 module(..., package.seeall) 据我所知,她试图在项目中加载其他bibiliotek。如果是这样,我编写的扩展语言Lua标准机会的C文件(即附加函数)位于何处。该函数用于定义Lua 5.1中的Lua模块。它的主要可见效果是,全局变量(特别是全局函数定义)的所有赋值都会在模块表中结束,而不是在全局表中结束。它通过替换当前环境来实现这一点。不幸的是,这意味着对全局变量的所有读取访问也会重定向到模块表,因此除非在调用module()之前创建本

从嵌套的Lua表中检索X,Y坐标

我需要从Lua中的嵌套表中获取值,我只是不知道如何做,我已经尝试了许多在线示例,但都没有成功 任何帮助都将不胜感激 桌子 如果解包(路径)包含a和c,如何从上表中获取x,y值 我试过了 for _, v in pairs(xy) do print(v[1], v[2]) end 但是我得到的结果是零因为对给你键,值对,值部分是带有x和y值的表;现在,您只需执行以下操作: print(v.x, v.y) 使用v[1]和v[2]检索该表的第一个和第二个元素,但它们不是x和y元素,因此在您的示

如何验证Lua模式匹配生成器

我正在做一个lua代码生成器,它很简单,用户可以给我一个模式(比如“/myUrl/%d”),然后我必须创建一个将运行到nginx的lua代码 所以我创造了这样的东西 if string.match("/myUrl/12","/myUrl/%d+") ANOTHER CODE HERE end 这是可行的,但我想检查该模式是否有效,因此我决定在创建代码之前运行验证,如下所示: lua-e'string.match(“假”、“/%”) 这没问题 lua-e'string.match(“/m

Lua 我能';t通过iPhone访问我的NodeMCU devkit上的web服务器

我对Lua很陌生。我曾试图独自解决以下问题,但我无法解决。这是我的问题: 我正在NodeMCU devkit v0.9上运行一个web服务器。我可以在自己的计算机上轻松访问web服务器,但是如果我尝试通过iPhone或使用Python中的请求模块访问服务器,我总是会收到消息网络连接丢失。我使用的是以下固件:nodemcu_float_0.9.6-dev_20150704 print(wifi.sta.getip()) led1 = 3 led2 = 4 gpio.mode(led1, gpio.

使用redis放置行注释时发生Lua脚本错误

在redis集群上运行lua脚本时,我遇到了一个奇怪的错误 下面的脚本 --if keyCount ~= 1 or KEYS[1] == nil then --end 抛出错误: (error) ERR Error compiling script (new function): user_script:3: 'end' expected (to close 'function' at line 1) near '<eof>' 对我来说,它看起来像一个bug,为什么一个完全注

如何为Wireshark Lua解析器执行代码覆盖率测试?

我正在检查Lua解剖仪的覆盖范围。 我尝试使用“luacov”框架进行测试,包括Lua解析器中的luacov包 当我运行包含解剖器的Wireshark时,它可以生成“luacov.stats.out”文件。但是文件是空的 有人对此有什么想法吗?提前谢谢你 您是否在.luacov中设置了tick=true

Lua 尝试索引全局';游戏数据库';(零值)-(Garrysmod脚本)

我有点想弄明白为什么这不起作用。我没有对代码做任何修改,所以我有点好奇为什么它不再有效。感谢您的帮助。以下是我收到的错误: [ERROR] gamemodes/harborrp/gamemode/data.lua:59: attempt to index global 'GameDatabase' (a nil value) 1. Query - gamemodes/harborrp/gamemode/data.lua:59 2. unknown - gamemodes/har

如何理解Lua中的元表?

我曾经使用过Python,但现在我学习Lua是因为Torch。“元表”这个词对我来说真的很难理解。例如,元表是一种特殊的表吗?它如何改变表的行为?元表只是一个用来控制另一个表(或userdata或其他Lua值)行为的表。表之所以是元表,是因为它被用作元表。也就是说,作为“元表”并不是表的基本属性。没有“create_metatable”函数或任何东西。这只是我们用来控制其他表的表的名称 表(或userdata)上的某些操作被指定为首先检查表的元表。如果表(或userdata)有一个元表,并且该元

在Torch/Lua中,如何实现概率神经网络?

我一直在研究这个人工神经网络模型,叫做。 我想我理解了总体思路,但我不明白如何在火炬上实施 有人知道如何在Torch中实现概率神经网络吗?有人可以提供帮助吗?你能够实现吗?不幸的是没有。我是用Python编写的,使用的是neupy包。有人可以帮忙吗?你能实现它吗?不幸的是没有。我是用Python编写的,使用的是neupy包。

LUA读取文本文件,进行拆分并发送到数组

我是卢阿的新手。实际上,这个脚本用于游戏服务器,但我需要帮助从store.txt文件获取值。所以我的存储系统是每个玩家将保存在一个文件中 存储文件 我的语法数据来自文本文件 [name]:[points]:[which var point earned on index] jack:60:4 ronald:40:1 jack:30:1 我的示例数据(这个变量点实际上是lua文件中发送到文本文件的写入数据) 所以当我从上面得到的是 local player = {{(name),(points

是否有一个表可用于访问Lua中的局部变量?

就像我们如何做到这一点: a = 3 print(_G['a']) -- 3 我希望能够做到以下几点: local a = 3 print(_L['a']) -- 3 我基本上希望能够使用本地变量的名称作为字符串来访问它们。是否有一个表可以做到这一点,也许有一个表可以作为函数参数传递?这就像ActionScript中的this关键字一样。这可以通过库实现,即和函数。如果您不能使用此库(或访问),那么您就不走运了 您可以使用特制的\u L表扩展您的全局环境,当访问该表时,它将对当前局部变量集执

Lua 代码在第一次运行后停止工作

你好,堆栈溢出用户,我这里有一些代码: local input = nil print("What file do you want to access?") input = io.read(); local file = io.open(input, "r") function infiniteLoop() print("What do you want to know more about?") input = io.read(); while true do line

Lua 如何将矢量文件放置在corona sdk中的圆内?

我有一个display.newCircle(),我想用矢量图像填充它。我知道如何处理“png”文件,但它不能处理向量。我使用的是“svg”文件,要导入它,我使用: local nanosvg = require( "plugin.nanosvg" ) 基本上这就是答案 local nanosvg = require( "plugin.nanosvg" ) local tex = nanosvg.newTexture( { filename = "jelly.svg" }) image

Lua L和xD6;VE/LOVE2D:实现九个补丁

我正在尝试为我的love2d项目实现一个库,它应该能够用九块方法缩放图像。(如果你没听说过:)我认为在love2d中实现这一点最简单的方法是使用spriteBatches,我为图像中应该/不应该缩放的部分创建四边形。不管怎么说,我真的没法让它发挥作用 第一个问题:在创建四边形之后,如何设置四边形的缩放比例 第二个问题:如果需要,我希望能够重复四边形,而不是缩放它们,但我不知道这是如何工作的。但这是可选的,首先我希望缩放本身能够工作 这是我目前的代码: function sign(x) --

Pandoc Lua过滤器:如何为Span元素指定属性

我有一个包含原始LaTeX命令的降价文档。我正在尝试使用一个与Pandoc(2.0.1.1)结合使用的工具,将LaTeX命令转换为更可移植的命令。特别是,指定文本语言的命令应转换为带有lang属性的跨距。问题是我不知道如何将属性传递给pandoc.Span构造函数。这是我尝试的过滤器(filter.lua): 示例用法: echo '\textspanish{hola}' | pandoc -f markdown -t native --lua-filter=filter.lua 输出为[Pa

选择一个随机文件lua

好吧,就像它在标题中所说的那样,我需要弄清楚如何从文件夹中选择一个随机文件,而不知道从哪里开始或查找什么。有人愿意帮我吗?使用获取文件夹中的文件列表,将其存储在表中,并使用t[math.random(#t)]表达式从该表中获取随机元素。使用获取文件夹中的文件列表,将其存储在表中,并使用t[math.random(#t)]从该表中获取随机元素表达式

如何知道我的Lua脚本错误

我有一个密码: ----Tri So Exp 1 Con Quai : 13000 ---- 51 --> 55 Danh 4 Con Len 1 Cap ----- 56 --> 60 : danh 6 con len 1 cap Include("\\script\\global\\kinhnghiem\\exp.lua") Include("\\script\\global\\kinhnghiem\\droprate.lua") Include("\\script\\sour

Lua实施了什么品牌的协同程序?

有谁能具体地告诉我coroutinelua实现了什么“风格”吗?我之所以这么问,是因为Lua的协程似乎非常适合我的一个问题,我希望能够在不同点暂停函数,可能是在嵌套的函数调用中,然后再继续。尽管有类似于“协同程序/生成器”的结构,但这在C#或JavaScript中似乎是不可能的。还有哪些语言支持这些类型的协同程序 这篇免费提供的论文说: Lua实现了非对称协程的概念,通常被称为半对称或半协程[Marlin,1980],[Dahl等人,1972]。非对称协同路由设施之所以被称为非对称协同路由设施,

Lua 罗技G中心脚本

当我按住左alt键和鼠标左键时,它只会按住“L”键,然后当我松开左alt键时,它会返回到自动单击脚本 谢谢 EnablePrimaryMouseButtonEvents(true); function OnEvent(event, arg) if IsMouseButtonPressed(1) then repeat PressKey("L") Sleep(math.random(15, 45))

Lua-重复此操作,直到将表返回到除';尝试索引一个nil值';

好的,我将展示一个例子 我想这样做: local x = {} repeat -- wait function until x.lel.ciao local x = {} repeat -- wait function until x.lel and x.lel.ciao 但我有一个错误: input:3:尝试索引nil值(字段“lel”) 所以我可以这样做: local x = {} repeat -- wait function until x.lel.ciao local

Lua:如何只从库中获取某些函数?

我有图书馆文件服务_functions.lua。其中有数百个函数 function foo1() ------------ end function foo2() ------------ end 等等 我不想加载所有函数。 现在我做到了: dofile(script_path.."\\service_functions.lua") 然后把它们都弄到手。 如何仅获取特定函数?从service_functions.lua中删除任何您不想要/不需要的函数,或使用您自己的模块

  1    2   3   4   5   6  ... 下一页 最后一页 共 88 页