小编Pau*_*nko的帖子

将路径名拆分为Lua中的组件的最佳方法是什么?

我有一个标准的Windows文件名与路径.我需要从字符串中分割出文件名,扩展名和路径.

我目前正在简单地从最后寻找字符串.切断扩展,并获得第一个\路径.

我确信我应该能够使用Lua模式执行此操作,但是当我从字符串的右侧开始工作时,我仍然会失败.

例如.c:\ temp\test\myfile.txt应该返回

  • C:\ TEMP \测试\
  • myfile.txt文件
  • 文本

如果这是重复的话,请提前感谢道歉,但我可以找到很多其他语言的例子,但不是Lua的例子.

lua lua-patterns

17
推荐指数
2
解决办法
1万
查看次数

在lua中将数字转换为其字母对应

我正在尝试制作一个lua脚本,该脚本接受由逗号分隔的数字输入,并将其转换为字母,所以1 = ect,但是我还没有找到一种容易的方法,因为字符串libray输出a = 97,所以我不知道现在要去哪里,有什么帮助吗?

lua

4
推荐指数
2
解决办法
4774
查看次数

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

我需要从Lua中的嵌套表中获取值,我只是无法弄清楚如何做到这一点,我尝试了很多在线示例但没有工作.

任何帮助,将不胜感激

xy = { a={x=0,y=0},b={x=0,y=100}, c={x=0,y=200}}
Run Code Online (Sandbox Code Playgroud)

如果unpack(route)包含a和c,我如何从上表中获取x,y值.

我试过了

for _, v in pairs(xy) do
  print(v[1], v[2])
end
Run Code Online (Sandbox Code Playgroud)

但我回来的只是零

lua

4
推荐指数
1
解决办法
106
查看次数

尝试索引本地'args'(函数值)

我试图通过使用gmatch将字符串拆分成表格%S+.但是我遇到了错误:

尝试索引本地'args'(函数值)

以下是我认为存在问题的三行代码:

print(msg)
local args = string.gmatch(msg, "%S+")
print(args[1])
Run Code Online (Sandbox Code Playgroud)

所以第一行print(msg)只是打印一个正常的字符串.第二行是假设用空格分割该字符串,并将表存储在args中.第三行是假设打印表中的第一个值,但是它给出了上面显示的错误.谢谢.

lua roblox

3
推荐指数
1
解决办法
819
查看次数

Vararg (`...`) 函数参数不适用于 `arg` 变量

对于 lua,根据本教程,可以通过名为 arg 的隐藏变量访问函数的三个点。

https://www.lua.org/pil/5.2.html

我写了一个非常简单的程序

require 'torch'
function triDot(...)
    print('in triDot now')
    print(arg)
    for i,v in ipairs(arg) do
        print('i is',i,'v is',v)
    end
end
triDot('name1','name2') 
Run Code Online (Sandbox Code Playgroud)

事实证明 arg 根本不包含 {'name1', 'name2'} 而是一堆系统参数。For 循环不会产生任何结果。

{ 0:“/home/jun/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th”-2:“-e”-5:“/home/jun/torch/install/bin /luajit" -3 : "package.path="/home/jun/.luarocks/share/lua/5.1/?.lua;/home/jun/.luarocks/share/lua/5.1/?/init.lua; /home/jun/torch/install/share/lua/5.1/?.lua;/home/jun/torch/install/share/lua/5.1/?/init.lua;"..package.path; package.cpath ="/home/jun/.luarocks/lib/lua/5.1/?.so;/home/jun/torch/install/lib/lua/5.1/?.so;"..package.cpath" -4 : " -e" -1 : "本地 k,l,_=pcall(require,"luarocks.loader") _=k 和 l.add_context("trepl","scm-1")" }

任何人都可以帮忙吗?

lua arguments torch

3
推荐指数
1
解决办法
2342
查看次数

使用字段名称定义函数时出错(`'('应在 '['` 附近)

我在用lua编译时出错:

local action = {}
action["moving"] = {}
action["zooming"] = {}
action["moving"].state = false
action["zooming"].state = false

action.list = {"moving", "zooming"}

function action["moving"].f()
  if CanAction("moving") and (love.keyboard.isDown("left") or love.keyboard.isDown("right") or love.mouse.isDown("l")) then
    if action["moving"].state == false then
      action["moving"].x, action["moving"].y = camera:mousePosition()
      action["moving"].state = true
    end
    if action["moving"].state then
      if love.mouse.isDown("l") then
        camera:setPosition(-love.mouse.getX()*camera.scaleX + action["moving"].x, -love.mouse.getY()* camera.scaleY + action["moving"].y)
      elseif love.keyboard.isDown("left") then
        camera:move(-10*camera.scaleX, 0)
      elseif love.keyboard.isDown("right") then
        camera:move(10*camera.scaleX, 0)
      end
    end
  else
    ResetAction("moving")
  end
end 
Run Code Online (Sandbox Code Playgroud)

当我声明函数“function action[”moving”].f()”时,错误是关于那一行的,也许是因为我使用了这样的表,谢谢你的帮助。

lua love2d

2
推荐指数
1
解决办法
789
查看次数

将表字符串转换为实际表

local t = "{{2173,1},{2160,5}}"
print(#t) -- 19?? wrong
Run Code Online (Sandbox Code Playgroud)

如何转换为出现在数字中?

local t = {{2173,1},{2160,5}}
print(#t) -- 2 correct
Run Code Online (Sandbox Code Playgroud)

lua

1
推荐指数
1
解决办法
747
查看次数

标签 统计

lua ×7

arguments ×1

love2d ×1

lua-patterns ×1

roblox ×1

torch ×1