lua 中的准引用/引用?

2023-12-24

在 Lisp 中,我可以:

(a b c d e f g)

意思是

look up b, c, d, e, f, g
look up a; apply value of a to above

那么,我还可以:

`(a b c d e f g)

这相当于

 (list 'a 'b 'c 'd 'e 'f 'g)

现在,在 lua 中,我可以:

[snipplet 1]
foo = {
  Foo,
  {Cat, cat},
  {Dog, dog}
};

最终最有可能扩展到: {零,{零,零},{零,零}}

而我真正想要的是这样的:

[snipplet 2]
{ "Foo", {"Cat", "cat"}, {"Dog", "dog"}}

lua中有类似反引号的方法吗?

我发现 [snipplet 1] 比 [snipplet 2] 在视觉上更令人愉悦,但我的意思是片断 2。

Thanks!


没有语法,但您可以尝试这个运行时解决方案:

setmetatable(_G,{__index=function (t,k) return k end})

这使得所有未定义的变量的行为就像它们包含带有名称的字符串一样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

lua 中的准引用/引用? 的相关文章

  • Lua:冒号符号、“自我”和函数定义与调用

    我对定义 调用 Lua 函数时使用的冒号表示法感到非常困惑 我以为我已经明白了 直到我看到这段代码 function string PatternSafe str return str gsub pattern escape replace
  • 在 Corona sdk 上保存高分?

    我想保存游戏中创建的高分 并且当玩家点击高分按钮时可以在主菜单中看到 有人可以帮助我吗 您可以使用SQLITE https docs coronalabs com api library sqlite3 index html将高分保存到数据
  • 为什么 LuaJIT 和 Lua 中的数字舍入格式不同?

    Using string format 据说遵循 Csprintf 在 LuaJIT 轮次中格式化数字与我尝试过的所有其他 Lua 解释器不同 lua v Lua 5 4 1 Copyright C 1994 2020 Lua org PU
  • Redis INCRBY 有限制

    我想知道是否有一种方法可以通过我的应用程序的单次往返在 Redis 中执行此操作 对于给定的键K 其可能值V是范围内的任意整数 A B 基本上 它有上限和下限 When an INCRBY or DECRBY发出命令 例如INCRBY ke
  • corona sdk中拖动物理对象

    我尝试在场景中拖动重力 0 0 的动态主体 我有一个主体类型为动态的正方形 以及一个主体类型为静态的图像 但是当将方形拖动到图像上时 它会产生一点力 但是可以超出图像并传递到另一边 如图所示 这是我拖动正方形的代码 local functi
  • Lua :: 如何编写加载多个CPU的简单程序?

    我还无法用 Lua 编写一个可以加载多个 CPU 的程序 自从Lua通过协程支持这个概念 http www lua org pil 9 4 html 我相信这是可以实现的 我失败的原因可能是以下之一 这在Lua中是不可能的 我写不出来 an
  • 安装Lua套接字库

    要么我太累了 要么我瞎了 我想学习 Lua 网络 因此我必须安装socketlib 所以我可以轻松地要求它 但我不知道我应该 要求 哪些文件 例子说 local socket require socket 但正如我所说 如果我使用 我不知道
  • Lua中按字符分割字符串

    我有像这样的字符串 ABC DEF 我需要将它们分开 字符并将两个部分分别分配给一个变量 在 Ruby 中 我会这样做 a b ABC DEF split 显然Lua没有这么简单的方法 经过一番挖掘后 我找不到一种简短的方法来实现我所追求的
  • 如何通过 C API 在自己的环境中执行不受信任的 Lua 文件

    我想通过调用在其自己的环境中执行不受信任的 lua 文件lua setfenv http pgl yoyo org luai i lua setfenv这样它就不会影响我的任何代码 该函数的文档仅解释了如何调用函数 而不解释如何执行文件 目
  • LuaJ 导入 Lua 方法

    我正在使用 LuaJ 并且我有一个 lua文件充满了一堆函数 如何通过 LuaJ 导入这些函数以在 Java 中使用 一种选择是将文件编译为 Java 代码并导入它 另一种方法是使用可嵌入解释器直接从 Java 代码中调用 Lua 文件 E
  • 如何让我的 add 命令找到第一个变量和第二个变量的值,然后将它们加在一起?

    vars values function open file lex file end function lex file local data io open file r for char in data lines do Print
  • 推送 Lua 表

    我已经创建了一个Lua表C 但我不知道如何将该表推入堆栈顶部 以便我可以将其传递给 Lua 函数 有谁知道如何做到这一点 这是我当前的代码 lua createtable state libraries size 0 int table i
  • 在 lua 中加载 C++ 模块时出现“尝试索引字符串值”错误

    我正在尝试使用 lua 用 C 编写的函数 下面给出的是cpp文件 extern C include lua h include lauxlib h include lualib h static int add 5 lua State L
  • 在Windows上使用gcc 5.3.0编译Lua 5.2.4模块

    我需要用 gcc 5 3 0 编译 Lua 5 2 4 模块 在 Windows 上 在此之前 我按照以下步骤构建 Lua 5 2 4 gcc c DLUA BUILD AS DLL c ren lua o lua obj ren luac
  • Tarantool 中的冲突解决(如何在发生冲突时修复主-主模式下的复制)

    在多master场景下使用Tarantool如何实现冲突解决 我正在开发一项应该具有高可用性的服务 因此决定使用 nginx 作为 tarantool 两个节点 禁用只读选项 的负载均衡器 带有备份指令 它会重试对其他节点的失败请求 但如果
  • Lua(命令行)执行后保持打开状态

    我已经广泛寻找这个但我似乎找不到它 有什么方法可以执行Lua通过双击脚本 在中执行它 Lua Command Line 并在执行后保持打开状态 例如 print Hello World 该代码可以编译并运行 但是如果我双击hello lua
  • 如何从表成员中引用lua表成员?

    我在 lua 有一张表 enUS LOCALE STHOUSANDS Thousands separator e g comma patNumber d LOCALE STHOUSANDS d regex to find a number
  • 如何将 Lua 粘合到 C++ 代码?

    您使用 Luabind toLua 或其他库 如果使用 是哪一个 还是根本不使用 每种方法都有哪些优点和缺点 我不太同意 自己投票 将基本类型和静态 C 函数绑定到 Lua 是微不足道的 是的 但是当你开始处理表和元表时 情况就会发生变化
  • luajit2.0.0 -- 分段错误:11

    我使用一个简单的例子http lua users org wiki SimpleLuaApiExample http lua users org wiki SimpleLuaApiExample进行测试 该示例可以成功静态链接libluaj
  • 在 Lua 中更改元表会破坏冒号运算符

    在学习Lua的过程中 我借用了一些代码here http lua users org wiki StringIndexing使用字符串索引 正是这样 getmetatable index function str i return stri

随机推荐

  • @QueryParam 如何将没有值的参数转换为布尔值“false”?

    我想使用像这样的网址http www example com rest foo bar哪里的bar查询参数没有值 它的存在本身就应该表明变量是否是true or false 目前缺失值被假设为 空 并传递给new Boolean 将其视为f
  • XML(带有命名空间)到对象解组

    我从 Web 服务调用得到了以下响应 我尝试使用 JAXB 对其进行解组以将其映射到 java 类 这样做时我遇到了 unmarshal 异常
  • 使用扫描仪时无限循环? [复制]

    这个问题在这里已经有答案了 boolean z false do try a sc nextInt z true catch Exception e while z 尝试这个 如果您第一次尝试使用整数 它会正确执行 但是 如果您输入错误的文
  • Firebase orderByChild 和 equalTo() 查询不起作用

    我正在使用以下 Firebase 数据库表开发 Android 应用程序 posts id 1 author google 111527135678918251124 color 2960686 creationTime 142710414
  • aws cli get 错误“请求中包含的安全令牌无效”

    I did aws configure并测试它之前是否有效 但今天没用 我在尝试获取托管区域时收到错误 aws route53 list hosted zones An error occurred InvalidClientTokenId
  • Hudson 不会从 Git 获取

    我已经打了一天多了 这让我发疯了 我在Win7 PC上安装了Git 并选择 PuttyGen 选项 安装 我已经生成了 ssh 密钥 使用 PuttyGen 我已经添加了ssh 密钥到我的 Git 帐户 并链接 选美比赛中的私钥 我已经设置
  • 为 Bson.M mongodb 创建自定义 mashler/unmashler 时出错

    我收到错误WriteValueBytes can only write while positioned on a Element or Value but is positioned on a TopLevel当尝试为 bson M 创建
  • PyTuple_SetItem 的限制

    我有一个 Python 扩展模块 它创建一个元组作为另一个对象的属性 并在元组中设置项目 每当我在Python中执行这个模块时 我总是收到错误SystemError bad argument to internal function 阅读完
  • 为什么Cppcheck没有发现这个明显的数组越界错误?

    我安装了Cppcheck http cppcheck sourceforge net 我的 C 项目的静态代码分析工具 感觉它的性能很差 例如 谁能告诉我whyCppcheck无法在以下代码中找到数组越界错误 void f int c ch
  • 从 C# 在 PowerShell 6 中运行 PowerShell 脚本

    我有一个与 REST 服务器通信的 PowerShell 脚本 该脚本仅适用于 PowerShell 6 我想从 C 调用它 因为 C 程序需要来自 REST 服务器的信息 并且我不想用 C 重写 REST 代码 基本上 我想从 C 运行
  • 操作系统级别的睡眠是如何实现的?

    我只是感兴趣如何sleep time in ms 是在 C 库中实现的 或者基本上是在操作系统级别实现的 我猜 可能是基于处理器速度 你做了一个 nop 的 while 循环 我不确定睡眠时间是否准确 处理器中的任何特殊寄存器 您在其中写入
  • ASIHTTPRequest 中 POST 中的正文为空

    基本上 我发送一个带有空数据正文的 POST 请求 ASIHTTPRequest request ASIHTTPRequest alloc init request setURL NSURL URLWithString escapedUrl
  • Docker 未知速记标志:-aq 中的“a”)

    我有多个正在运行的 docker 版本 18 09 0 构建 4d60db4 容器 我希望立即停止它们 这篇博文 http blog baudson de blog stop and remove all docker containers
  • 将文件名设置为 Blob 文件

    我想向我的 Blob 文件添加一个文件名 但我真的不知道该怎么做 这是我目前的代码 onClick var myHeader new Headers myHeader append Content Type text plain fetch
  • 如何加密 web.config 中的一项

    ASP NET 4 我用过RSA密钥加密 http msdn microsoft com en us library ff650304 aspx paght000006 webfarmscenarios用于我的网络场的 web config
  • ThreadLocal - 用作带有 spring-boot 的 REST API 的上下文信息

    我有一些spring boot应用程序 它公开了 REST API 提到的 REST API 是由spring security 一切都很好 但是现在我需要设置上下文 用于服务请求 设置上下文是指根据用户上下文选择数据源 关键是Routin
  • Unity Shader - 如何有效地重新着色特定坐标?

    首先 请允许我解释一下我所得到的内容 然后我将讨论接下来我想要弄清楚的内容 我有什么 我有一个带纹理的自定义网格 其一些边缘与 Unity 中的整数世界坐标完全对齐 在网格中 我添加了自己的粗略但有效的自定义表面着色器 如下所示 Shade
  • Swift Closure 中的可选链接,返回类型必须为 Void

    我正在创建一个脚本的双向链接列表 MSScripts 应该有自己的run 实现 然后他们调用下一个脚本 rscript 当他们准备好时 我想创建的脚本之一只是一个延迟 它看起来像这样 class DelayScript MSScript v
  • Django - ManyToManyRelation 中的级联删除

    使用以下相关模型 一篇博客文章可以有多个修订版 class BlogEntryRevision models Model revisionNumber models IntegerField title models CharField m
  • lua 中的准引用/引用?

    在 Lisp 中 我可以 a b c d e f g 意思是 look up b c d e f g look up a apply value of a to above 那么 我还可以 a b c d e f g 这相当于 list a