请给出一个代码片段,说明如何使用嵌入OCaml中的Lua,好吗
一个简单的例子可以是“Hello,World”变体。让OCaml提示用户输入名称。然后将该名称传递给Lua函数。让Lua打印问候语并返回姓名的长度。然后让OCaml打印一条关于名称长度的消息
例如:
user@desktop:~$/hello.opt
名字?使用者
你好,用户
你的名字有4个字母长
user@desktop:~$
[编辑]
作为一名非C程序员,我是否可以在不必编写中间C程序在Lua和OCaml之间传递数据的情况下实现
嘿,我正在ROBLOX上做一个人工智能,我似乎不知道从哪里开始寻找路径,这是最常见的人工智能功能。有人能帮忙吗
另外,我不知道任何光线投射,所以我不能使用它作为我的选项。如前所述,您将需要查看。这是探路的济贫院。如果你认为你做不到,那就试试简单一点的。现在有很多技术,比如说寻找AI角色的面包屑路径。在游戏运行时,您甚至可以在特定的时间间隔应用裸骨(1,0,0)向量来向右移动,(-1,0,0)向量来向左移动,等等。先做点事情。无论如何,在添加寻路时,您可能会遇到这样或那样的问题,因此请仔细阅读该主
如何将整个显示屏幕注册为事件侦听器?创建main.lua并添加它
function drawLine( event )
if(event.phase == "ended") then
line = display.newLine(event.xStart, event.yStart, event.x, event.y)
line:setColor(255,0,0)
line.width = 5
end
end
Runtime:addEventListener("t
我正在使用IUP.GetParm对话框执行搜索和替换提示。
该对话框支持3个按钮,前两个是“确定”和“取消”,关闭提示并返回主程序流
第三个按钮可以在parm_action函数中跟踪,我想做的是使用第三个按钮跳过项目并关闭对话框,但我无法确定这是否可行
我已经在IUP邮件列表中询问过这个问题,但尚未得到回复
function param_action(dialog,index)
if index == -4 then
bSkip = true
return 1
end
我有一台windows vista电脑和一台带有xcode的mac电脑。开始编写Lua代码的最简单方法是什么?只需下载-\
然后:
Lua从下载Lua。编译它。打开一个文本编辑器,开始写作
如果你只是想尝试一些简单的事情,那就在线试试吧
我的目标是创建一个平台,从一个x,y坐标到触摸事件,以这样的方式滑动手指将实时移动和调整平台大小。然而,问题是,如果在所述平台上有一个球,然后我移动平台,球将冻结并停止像球一样的动作,直到平台被操纵完毕
有没有一种方法可以让球在移动平台时继续正常运动
我已经包括了代码,所以你可以玩它,看看我的意思。查看我所说内容的最佳方法是单击创建平台,等待球落在平台上,然后拖动平台的末端
local physics = require("physics");
physics.start();
当key name以digit开头时,在javascript中,我们可以定义类似数组的对象,如下所示:
var table = {
'123.com': 'details'
'456.net': 'info'
}
但当我在Lua5.1中尝试这些代码时:
table = { '123.com' = 'info' }
它抛出一个错误:
[string "local"]:1: '}' expected near '='
但这些代码在lua中被接受:
table = {}
tabl
我在科罗纳做我的第一个项目。我应该在config.lua文件中定义pxs中的什么高级屏幕分辨率?该项目将在不同种类的iPhone和Android上运行。宽度320和高度480适用于大多数项目
我想知道是否有可能通过Lua(我想是通过SciTE或Sublime文本…)与您的计算机进行交互?例如,您可以播放.mp3,或使用Lua打开文件吗?可以,通过使用操作系统库os
您可以使用os.execute([command])从主机操作系统的shell运行任何命令(想想终端或命令提示符)
中提供了有关使用此库的详细信息。不知道操作系统库中的任何内容都有此功能,谢谢!
我经常使用bit模块和string.rep。然而,这一切都很麻烦。我对使用LuaJit还不熟悉,我认为可能有一种更简单的使用FFI的方法
在C中,我可以声明如下结构:
struct mystruct
{
uint32_t field1;
char field2[6];
uin64_t field3;
short field4;
} __attribute__(packed);
local ms = ffi.new("mystruct")
ms.field1 =
标签: Lua
function-declaration
我有一个Lua脚本,它提供了一个交互式文本菜单,用于在实际工作之前配置脚本。有一个主菜单()函数,它有用户可以选择的选项,每个选项调用不同的子菜单()函数。每个不同的子菜单()函数完成它们的工作,然后返回(调用)主菜单()函数。最后,每个函数都有一个settings参数传递给它,这是一个设置表
事情是这样的:
local function submenu(settings)
-- Get user input & change a settings{} table key acc
我目前正在制作一个类似于blackberry上直升机游戏的游戏,游戏的目标是避开地雷并生存到计时器计数为0,当这一点实现时,游戏将进入下一个级别,在那里它将变得更加困难。要做到这一点,你必须触摸屏幕,使飞船飞得更高(通过applyForce)或降低(通过重力),因为飞船是一个动态物体。代码如下所示
local function flightUp(self,event)
print("Just before apply force")
self:applyForce(0,-0.2,
标签: Lua
variable-assignment
是否可以将文本文件分配到变量中,并通过调用变量访问该文件?如果是,您是如何做到的?使用
使用
假设您希望从函数中这样做。你应该:
function writeToFile(_fileName) -- _fileName being the file you want to write to
local file = io.open(_fileName, "w")
file:write("This is a string that will be written t
我想在子弹射出后,在我的过渡期结束后,将其取出。这是我的密码:
local bullet
local function shootf (event)
bullet = display.newRect(w/2, h/2, 15, 15)
physics.addBody( bullet, "static")
transition.to( bullet, {time = speed, x = bulletX, y = bulletY})
print( "bullet shot" )
标签: Lua
coronasdkcollision
我有一个程序,玩家将躲避坠落的小行星,小行星将必须穿过地面并相互撞击而不结束游戏。然而,如果asateroid击中玩家,游戏将需要结束并在屏幕上显示游戏。如何区分联系人
以下是我目前的代码:
--Start the physics engine!
local physics = require ("physics")
--Get a background image!
local background = display.newImage("Images/Background.png")
-
我正在使用Corona sdk,刚刚学习了API media.playVideo(“myfilename.mp4”,true,listener)
当我打开一个只有代码的空白文件时:
function showSuccess()
print( "success" )
end
media.playVideo( "hummingbird.mp4" , true, showSuccess)
电晕模拟器在屏幕上不显示任何内容,输出也为空。在我的android手机上,视频播放效果很好
问:当我使用wind
我正在尝试创建一个计算器供我自己使用。我不知道如何使它,当用户输入,例如6的提示,让用户键入6个数字。所以如果我写7,它会给我一个选择,写7个数字,然后给我答案,如果我写8,它会让我写8个数字
if choice == "2" then
os.execute( "cls" )
print("How many numbers?")
amountNo = io.read("*n")
if amountNo <= 2 then print("You cant ha
标签: Lua
interpreterluajit
所以,我只是想知道使用普通的Lua解释器而不是LuaJIT解释器是否有什么好处?LuaJIT是一款优秀的软件,甚至令人惊讶,但它只支持Lua5.1,不支持Lua5.2。它确实支持Lua5.2AS的许多特性。
因此,根据您需要Lua5.2的哪些功能,您可能需要使用Lua.org上的Lua解释器。
PUC Lua(“普通解释器”)更稳定,即在LuaJIT中更频繁地发现bug
PUC Lua更小,即占用的内存更少
如果您想定制PUC Lua,它更容易理解
PUC Lua已移植到更多平台,更易于移植
正
我有以下文件夹结构
--文件夹1
------main.lua
------子文件夹
---------函数1.lua
--文件夹2
------函数2.lua
我想通过require命令在main.lua中加载func1.lua和func2.lua
PS:文件夹中的init.lua做什么?在香草lua中,您可以这样加载它们:
local func1 = loadfile "sub_folder/func1.lua"
local func2 = loadfile "../folder2/func
标签: Lua
wiresharkwireshark-dissector
我对Lua完全是新手,这是我第一次尝试编写wireshark解剖仪。
我想用Lua脚本分析SSH而不使用密码。我编写了一个脚本来检测第一步的数据包长度和填充长度
这是我的剧本:
do
局部p_试验=原型(“试验”,“试验”);
本地f_数据包长度=ProtoField.uint32(“数据包长度”)
本地f_padding_length=ProtoField.uint8(“padding_length”)
p_测试字段={
f_数据包长度,
f_填充长度
}
功能p_测试解剖器(buf、pkt、
我有一个C程序,它使用Lua运行一些脚本。我需要通过C代码打开Lua库,如luaopen\u socket\u core(myLuaState),由于某些原因,我无法从Lua代码加载模块,如socket=require“luasocket”
一旦理解了这个程序的思想,现在我需要加载一个名为的库,所以我将struct.c添加到我的项目中,当我试图使用它的函数,如struct.unpack时,运行计时器抱怨没有名为struct的全局变量。当然,它加载的是luaopen\u struct(myLuaS
标签: Lua
coronasdklua-table
我最近开始学习corona,在定义一个正确的列表时,我很难找到问题所在
我的练习是为我定义的Y/m/D列表/数组/表格创建一个拾取轮
这是我的意见:
local meses= {
"Enero",
"Febrero",
"Marzo",
"Abril",
"Mayo",
"Junio",
"Julio",
"Agosto",
"Septiembre",
"Octubre",
"Noviembre",
标签: Lua
luarocksmoonscript
我对使用Luarock之类的工具来安装库非常陌生,我遇到了一个问题,我不知道在安装Lapis的依赖项时如何解决
正如您所看到的,我没有为LAPI安装任何依赖项(我假设当我尝试下载LAPI时,它们会自动安装)。我使用常规的命令提示符来实现这一点。由于我是个新手,我想我可能会做很多错事。我应该用别的东西吗?任何指点都很好,谢谢 获取此消息:
'cl' is not recognized as an internal or external command,
operable program or
我使用timer.performWithDelay来计算玩家完成一个关卡所需的时间。我希望它能降到100分之一秒,因为游戏是多人游戏,我不希望有太多的平局
以下是我所做的:
local totaltime = 0
local function counter()
totaltime = totaltime + 0.01
print(totaltime)
end
timer1 = timer.performWithDelay( 10, counter, 0)
结果是每秒钟大约
我需要检查一个成员是否存在于一个表中,该表不在下一级,而是沿着一条成员路径
foo = {}
if foo.bar.joe then
print(foo.bar.joe)
end
这将抛出一个尝试索引字段“bar”(一个nil值),因为bar没有定义
我通常的解决办法是一件一件地测试链条
foo = {}
if foo.bar and foo.bar.joe then
print(foo.bar.joe)
end
但是,当有许多嵌套表时,这可能非常乏味。有没有比逐件测试更好的方法?我
我对我的密码有点怀疑,
当我停止物理引擎时,如何重新启动它?
开始/暂停/停止
以下功能可启动、暂停和停止物理模拟:
physics.start() — either instantiates or resumes the simulation (if paused). You must start the physics simulation before calling any other physics functions in this guide.
physics.pause() —
这很尴尬,但我似乎很难弄清楚如何在Torch中执行相当简单的除法操作。
以下是我试图做的:
th> a
0.5058 0.2460 0.9038 0.6348
0.6324 0.3435 0.2530 0.9692
0.1531 0.1178 0.5588 0.5323
[torch.DoubleTensor of size 3x4]
所以基本上我有这个代码,它控制我的平台(我想创建一个2d platformer游戏)的游戏(Love2D Lua)下面是脚本
platforms = {}
platform1 = { x = 0, y = 600, width = 279, height = 49 }
platform2 = { x = 279, y = 600, width = 279, height = 49 }
platform3 = { x = 558, y = 600, width = 279, height = 49
标签: Lua
wifiiotesp8266nodemcu
硬件:ESP8266-1
IDE中的设置
Module: ESP8266-1
Flash Size: 4MB
Flash Mode: DIO
Flash Speed: 40Mhz
Upload Using: Arduino FTDI Serial
已安装固件:
nodemcu_integer_0.9.5_20150318.bin : 0X00000
(还尝试使用最新固件nodemcu_integer_0.9.6-dev_20150627.bin)
错误:(Esplorer)
PS:
我是卢阿的新手。我使用以下方法将JS文件编译为lua 5.2:
这创建了一个名为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:
我想在一次调用中使用一个键列表从Redis获取所有集合。根据文档,Redis为此提供了SSCAN命令,但由于我使用StackExchange.Redis作为Redis适配器,我猜此命令在此适配器中没有任何此类方法。所以我要找两件事:
我期待着使用LUA脚本执行SSCAN,但在互联网上找不到任何这样的例子。任何人都可以分享如何使用多个设置键从LUA调用SSCAN
同样对于StackExchange.Redis,如果我在一个事务中执行多个SetMembers(),是否类似于使用LUA脚本使用SSC
我有一个二进制文件,我想用lua读取它的内容。我知道它包含浮点数,表示为4个字节,它们之间没有delimeters。因此,我打开文件并执行t=file:read(4)。现在我想打印数字的非二进制表示形式,但是如果我打印(t),我只能得到类似x98xC1x86的东西。我该怎么办?如果您正在运行Lua 5.3,请尝试以下代码:
t=file:read(4)
t=string.unpack(t,"f")
print(t)
库函数string.unpack将二进制数据转换为Lua类型。我在Lua5.2
我一直在做一个游戏,但由于某些原因,我试图在其中产生的子弹就是不起作用
这是我的“主要”
require "scripts.player"
require "scripts.bullet"
function love.load()
bulletShoot = love.graphics.newImage("pics/bullet.png")
playerPic = love.graphics.newImage("pics/player.png")
background = love.graph
我正在与lua一起制作一个项目,该项目将从lua中的桌面获取所有文件名的列表。然而,我不知道怎么做,我也将使用love2d,因为这将是一个游戏。你能告诉我怎么做吗?谢谢
这是密码
function love.load()
require "player"
-- Lets add Some Variables!
-- Some Directory Suff first for Variables...
DesktopDirectory = love.filesystem.getU
由于我已将固件(使用和PyFlash)从0.9.6-dev_20150704版本更新为更新版本,如下所示:
NodeMCU custom build by frightanic.com
branch: master
commit: c8ac5cfb912ff206b03dd7c60ffbb2dafb83fe5e
SSL: false
modules: file,gpio,net,node,rtcmem,rtctime,tmr,uart,wifi
build built o
我想知道你们是否能帮我做点什么。我在这方面工作了很长时间,遇到了一个无法解决的问题。事实上,我是个很差劲的调试器
e = encode("print('test')")
wait()
d = decode(e)
print(d)
编码和解码是一个函数,可以将其视为加密字符串和解密的一种方式。但我看到当你打印(d)时,它会打印出print('test'),我想知道是否有一种方法可以在不打印它的情况下运行“print('test')。所以我想你们是否可以帮我删除d=decode(e)之后的引号“”
这条线有什么用。我是LUA编程新手
code=55
local convert=string.char(4,1,0,0,0,0,math.floor(224 + (code/16)), code % 16)
print(convert)
here-string.character内部使用4,1,0,0,0,0这是什么用途 char函数将ASCII数字转换为字符串值,请参阅
string.1,i2
生成表示作为参数传递的字符代码的字符串。数字代码不一定可以跨平台移植
> = string.
标签: Lua
escapingbackslash
我试图用“\”分隔,但是这个字符在Lua中非常特殊,即使我使用转义字符“%”,IDE也会显示一个错误未终止的字符串常量
local index = string.find("lua. is \wonderful", "%\", 1)
要将反斜杠\插入到带引号的字符串中,请将其自身转义为:“\\”\在常规的带引号的字符串中,因此它用\转义。或者您可以使用长字符串语法,它不允许转义序列,正如前面指出的:[[\]]
百分比只是用作转义符的字符串中的转义符,因此它在字符串的第二个参数中的神奇字符^$(
我有一个代表一个大数字的字符串,不超过19位,类似于“3435939477110523131”,我想把它从字符串转换成数字,然后再转换回来。
但是当我使用tonumber()时,它会用E表示法进行转换,这是非常愚蠢的
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> a = "3435939477110523131"
> print(tonumber(a))
3.4359394771105e+18
它丢失了一些数字。有没有一
标签: Lua
logitech-gaming-software
当我按下左键单击时,我想自动按下左键单击直到我释放它//我得到错误尝试调用upvalue“鼠标事件”(一个零值)
我可以这样做吗?或者我可以用鼠标左键启动键盘宏而不是鼠标点击来完成吗
local mouse_event = mouse_event
if IsMouseButtonPressed(1)then
repeat
for i = 1,100000000000,1 do /*2 secs leftclick*/
mouse_event(
我最近在用Lua编程,已经厌倦了写一些类似这样的代码
if variable ~= nil then
variable.function()
end
我知道在C#或Swift中,我们可以做类似的事情
variable?.function()
Lua是否有一些方法来实现这种功能?摘自第四版“Lua编程”中的“表”一节:
Lua不提供安全的导航操作员,我们认为它也不应该提供。Lua是极简主义者。此外,这个操作符是相当有争议的,许多人争论——不是没有原因的——它促进了粗心的编程。然而,我
由于CMS中的一些恼人的限制,我目前正在处理Pandoc过滤器的HTML输出,这是我努力工作的最终受益者
我的工作过滤器(现在带有明显的声明)如下所示:
local List = require 'pandoc.List'
local Emph = pandoc.Emph
local Quoted = pandoc.Quoted
local Span = pandoc.Span
local Str = pandoc.Str
local Strong = pandoc.Strong
local
考虑到以下准则:
http.lua
http_extender.lua
鉴于http\u extender是一个扩展http功能的模块,有几个问题:
我觉得http\u extender:new()本身就有问题,因为它正在为每个调用修改self,对吗
如果确实错误,那么正确的方法是什么,以便每次调用http_extender:new()都会创建一个新的http“对象”,该对象由http_extender的功能和属性组成
谢谢为了实现这一点,我会使用这样的东西
local http = requi
.lua:115“结束”预期(在第96行结束“如果”)靠近“其他”
`本地屏幕X=1920
本地屏幕Y=1080
本地务虚会=3
局部xAxis=0
局部yAxis=0
本地onPoint=false
函数nowPixel()
xNow,yNow=GetMousePosition()
yNow=屏幕Y*yNow/65535
xNow=screenX*xNow/65535
xNow=数学地板(xNow)
yNow=数学楼层(yNow)
现在就回来,现在就回来
结束
功能定位鼠标(距离)
xNow
我在C中有一个字符串数组,可以传递给Lua。在Lua端,我调用表。插入向其中添加元素。但是我需要把桌子放回C面
我知道我可以向Lua公开一个C函数来实现这一点。但我不希望程序员必须记住这样做
相反,我想知道是否有一种方法可以将元方法(如\uu newindex)添加到表中,这样我就可以“看到”元素何时添加到Lua表中,并在C端自动捕获它们?当您真正想要的是直接访问原始数组时,您正在制作C数组的副本。该字符串数组应仅存储在C或Lua中,然后使另一端可见
要将其存储在C中,请创建一个指向该数组的元表
标签: Lua
world-of-warcraft
我正在制作这个插件,它必须向raid发送我的中断冷却时间。
问题是,每当我向raid发送消息时,我是唯一接收消息的人。
这是发送消息的代码:
C_ChatInfo.SendAddonMessage(“KickRotation”,string.format(“%0.2f”,remainingCd),“RAID”)
这是事件处理程序:
frame:RegisterEvent("PLAYER_ENTERING_WORLD")
frame:RegisterEvent("CHAT_MSG_ADDON")
在Lua中,可以返回多个值,例如:
函数数学位置(x1,y1,x2,y2)
返回x2-x1,y2-y1
结束
distanceX,distanceY=math.pos(100100300300)-->distanceX=200,distanceY=200
我可以在ChaiScript中执行类似操作吗?这在ChaiScript中是不可能的,尽管可以使用包含多个值的结构来伪造它
您的结构(在C++中)看起来有点像这样:
struct multiple\u return\u值{
int优先;
int
标签: Lua
webautomationsplash-js-render
我试图在Splash中运行Lua脚本来执行Google搜索,并截取搜索结果的屏幕截图。当我尝试在我的Lua脚本中使用xpath或css选择器选择Google搜索框时,出现以下错误:
{
"error": 400,
"type": "ScriptError",
"description": "Error happened while executing Lua script"
标签: Lua
logitechlogitech-gaming-software
我有一个Logtech G915 TKL键盘,它有可编程功能键。您可以使用Logitech G Hub中的脚本功能编写脚本,侦听Logitech G硬件上的特殊键(如G键或M键)
我想写一个脚本,当我按下F1键并执行一些操作时,它会侦听。以下是我的尝试:
函数OnEvent(事件,参数)
--收听F1(G10)按键事件
如果(事件==“G_按下”且参数==10),则
--执行一些操作(例如按“a”键)
按andreleasekey(30);
睡眠(50);
结束
结束
我的尝试是基于罗技可能认
我在这个文件中得到了这个错误:
——中点圆绘制算法取自此处:
-- https://stackoverflow.com/questions/17163636/filled-circle-in-matrix2d-array
--从java翻译的代码
--初始化二维数组
矩阵={}
对于i=1,则为2
矩阵[i]={}
结束
--给定的矩阵和直径填充数组
函数mCircle(矩阵,d)
本地startX=d/2
当地标准=d/2
本地r=d/2
mCircleRec(矩阵、d、startX、star
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 208 页