逐行编写 Lua 脚本

2024-03-22

我使用以下命令将 Lua 脚本添加到我的 C# 应用程序中动态Lua http://dynamiclua.codeplex.com/图书馆,它运作得很好。 我想实现您获取正在执行的当前行(就像在 Visual Studio 中一样)并突出显示它。

目前我正在这样做:

   public static void RunLua(string LuaToExecute)
    {
        dynamic lua = new DynamicLua.DynamicLua();

        string[] lua_s_split = LuaToExecute.Split('\n');
        int counter = 0;
        foreach (string line in lua_s_split)
        {
            // highlight current line in editor
            HighlightLine(counter + 1);

            //execute current line 
            lua(line);
            counter++;
        }
    }

这与我的 Lua 代码配合得很好,比如

move(20, 19)
sleep(1000)
move(5, 19)

但我不能只执行一行语句。就像我的绑定函数move()。但我也想使用多行语句,例如函数和循环。如果文本编辑器包含:

function test()
    return  "Hallo Welt"
end

The lua(line)会引发异常,因为只有第一行function test()已通过,但解释器缺少结束语句。

我能做些什么?我是否应该检查该行是否以函数、while... 命令开头,然后扫描结束块并将其添加到字符串中,以便我可以一次执行并突出显示该多行语句?这可能吗?我该怎么做呢?

请帮忙。


我想实现您获取正在执行的当前行(就像在 Visual Studio 中一样)并突出显示它。

不要通过一次向 Lua 提供一行脚本来实现此目的。运行整个脚本并让 Lua 在执行切换到新行时通过调试挂钩通知您:

Lua 编程:钩子 http://www.lua.org/pil/23.2.html
Lua手册:debug.sethook http://www.lua.org/manual/5.2/manual.html#pdf-debug.sethook

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

逐行编写 Lua 脚本 的相关文章

  • 在 JavaScript 中引用 C# 变量

    我已经阅读了很多线程 但我不明白为什么这不起作用 我正在创建一个将用作导航栏的 SharePoint Web 部件 一切都很顺利 直到我尝试在 JS 代码中引用 C 变量 这是来自 VisualWebPart1UserControl asc
  • 为什么模板类的静态成员不唯一

    看一下下面的代码 include
  • 如何将动态数据写入 MVC 3 Razor 中的页面布局?

    我有带有 Razor 引擎的 MVC 3 C 项目 将动态数据写入 Layout cshtml 的方法和最佳实践是什么 例如 也许我想在网站的右上角显示用户名 该名称来自会话 数据库或基于用户登录的任何内容 更新 我也在寻找将某些数据渲染到
  • 从 unsigned char* 到 char* 的转换无效

    这是一个代码 1 int main int argc char argv 2 3 signed char S psc 4 unsigned char U pusc 5 char C pc 6 7 C S 8 C U 9 10 pc psc
  • 基于多线程的 RabbitMQ 消费者

    我们有一个 Windows 服务 它监听单个 RabbitMQ 队列并处理消息 我们希望扩展相同的 Windows 服务 以便它可以监听 RabbitMQ 的多个队列并处理消息 不确定使用多线程是否可以实现这一点 因为每个线程都必须侦听 阻
  • 如何将 mat 转换为 array2d

    我为dlib http dlib net face landmark detection ex cpp html那里的面部地标代码使用 array2d 来获取图像 但我喜欢使用 Mat 读取图像并转换为 array2d 因为 dlib 仅支
  • 如何进行Visual Studio格式字典初始化?

    所有 Visual Studio 也包括 2012 不格式化以下内容 messageProcessor new Dictionary
  • 仅针对某些异常类型中断

    我知道异常处理是一件非常重要的事情 我们在所有项目中都在这样做 主要原因是记录客户发生的错误 这工作正常 根本不是问题 但是 当我仍在使用 Visual Studio 编码和运行应用程序时 我根本不需要任何异常处理 我希望调试器正好停在应用
  • 在关键服务器上对字符串进行内存受限的外部排序,并合并和计算重复项(数十亿个文件名)

    我们的服务器生成如下文件 c521c143 2a23 42ef 89d1 557915e2323a sign xml在其日志文件夹中 第一部分是GUID 第二部分是名称模板 我想计算具有同名模板的文件的数量 例如 我们有 c521c143
  • 动态框架中未定义的架构符号

    我正在开发一个 iOS 框架 该框架包含多个第三方框架并使用 UnitySendMessage C 方法与 Unity 进行通信 我想创建一个动态框架 支持 iOS8 但我偶然发现以下编译错误 Undefined symbols for a
  • C# 中不区分大小写的替换不使用正则表达式?

    有没有一种方法可以在不使用 C 中的正则表达式的情况下对字符串进行不区分大小写的替换 像这样的东西 string x Hello x x Replace hello hello world 你可以尝试类似的东西 string str Hel
  • 使用 ClosedXML 附加到 excel 文件

    我需要将新数据附加到使用 ClosedXML 创建的现有 Excel 文件中 如何使用 ClosedXML 附加到 Excel 文件 如何获取最后一条记录的行号并将其附加到该行号上 或者还有其他内容 Thanks 打开现有工作簿 然后使用L
  • Bazel:将编译标志添加到默认 C++ 工具链

    我想向默认的 C 工具链添加一些编译器和链接器标志 以便我构建的所有目标 本地或导入 共享它们 我知道可以定义我自己的工具链 但我不想这样做 因为它非常复杂且容易出错 理想情况下我想要这样的东西 cc toolchain cc defaul
  • 这个元组创建习惯有名字吗?

    On the 增加邮件列表 http lists boost org Archives boost 2014 06 214213 php LouisDionne 最近发布了以下创建类似元组的实体的巧妙技巧 include
  • C# SignalR 异常 - 连接在收到调用结果之前开始重新连接

    我正在开发 2 个应用程序 第一个是 C 控制台应用程序 另一个是 Asp net Web 应用程序 我正在使用 SignalR 连接两者 这是我的 C 控制台应用程序 客户端 public class RoboHub public sta
  • PowerShell 与 MongoDB C# 驱动程序方法不兼容?

    由 C 泛型引起的最新 MongoDB 驱动程序的问题 Cannot find an overload for GetCollection and the argument count 1 我可能可以使用其他没有泛型的 GetCollect
  • 来自用户定义文字的整数字符序列,以字符串作为参数

    目前 只有双精度数可以在用户定义的文字中生成字符模板 template
  • 提升shared_from_this<>()

    有人可以用几句话概括一下如何提升shared from this lt gt 应该使用智能指针 特别是从使用绑定函数在 io service 中注册处理程序的角度来看 编辑 一些回复要求提供更多背景信息 基本上 我正在寻找 陷阱 即人们使用
  • OpenCV 仅围绕大轮廓绘制矩形?

    第一次发帖 希望我以正确的方式放置代码 我正在尝试检测和计算视频中的车辆 因此 如果您查看下面的代码 我会在阈值处理和膨胀后找到图像的轮廓 然后我使用 drawContours 和矩形在检测到的轮廓周围绘制一个框 我试图在 drawCont
  • 从 git 签出后 nuget dll 丢失

    I have a C solution containing different projects On those projects I have some normal nuget packages like Newtonsoft Js

随机推荐

  • 单独文件中的函数实现

    在单独的文件中实现函数的正确语法是什么 例如 foo h int Multiply const int Number foo cpp include foo h int Multiply const int Number return Nu
  • Mysql自动为字段添加前缀

    示例表1 id field1 field2 table2 id id1 field1 field2 是否有可能做到这一点 select t1 t2 from table1 t1 inner join table2 t2 on t1 id t
  • 在端口 3000 上对 Node.js 应用程序进行 AWS 负载平衡

    我有一个 Node js Express Web 应用程序 它使用默认端口 3000 并通过弹性 IP 在 Ubuntu EC2 实例上响应良好 我正在尝试设置 AWS 内置的负载平衡 但似乎无法通过良好的运行状况检查 设置 2 个 ubu
  • 本地主机上的 socket.io 出现 404 错误 - XAMPP - Laravel 5.5

    我在本地主机上使用 XAMPP Window 8 1 Laravel 5 5 我使用 Pusher 在 Laravel 中编写了广播代码 并且工作正常 由于 Pusher 非常昂贵 所以我打算转向 socket io 在主刀片中添加了以下链
  • 如何使用批处理文件迭代 .ini 文件中的项目?

    我目前正在尝试循环遍历 a 中的每个项目 ini文件并稍后使用这些值 但我不知道怎么做 我的config ini文件看起来像这样 items item 1 XXXXX item 2 XXXXX item 3 XXXXX item 4 XXX
  • JHipster 微服务 CORS

    有没有一种方法可以通过网关访问微服务API而无需身份验证 例如 如果我有一个公共登录页面需要从微服务 API 读取数据 我启用了 CORS 并通过 Swagger 测试了 API 它在网关应用程序中运行良好 但是 如果我使用 CURL 调用
  • 在 C# 中(可能在不安全模式下)读取锁定文件的侵入性最小的方法是什么?

    我需要读取可能被锁定的 Windows 文件 但我不想创建任何类型的锁来阻止其他进程写入该文件 另外 即使文件被锁定为独占使用 我也想看看里面有什么 尽管这不是我的确切用例 但请考虑如何在使用和安装时读取 SQL Exchange 日志或数
  • 使用hibernate返回查询的计数值

    这是我的 mysql 查询 SELECT count FROM bw jobs WHERE year job date year curdate AND month job date month curdate 如何在休眠中使用它来获取计数
  • 构建带有复选标记的 NSOutline 视图

    我希望使用正确的 Apple 推荐方法向 NSOutlineview 添加复选框 但文档中尚不清楚 如何添加行为以允许用户如果单击父复选框 则它将选择子项 如果我单击它 它将取消选择该项目的子项 编辑 我简化了我的问题并添加了图像以使其更清
  • 如何从 DragEventArgs 确定数据类型

    我已经在我的应用程序中实现了拖放 但在确定被拖动对象的类型时遇到一些困难 我有一个基类Indicator以及从它派生的几个类 拖动的对象可以是这些类型中的任何一种 下面的代码片段看起来不太优雅 并且容易出现维护问题 每次我们添加一个新的派生
  • 为什么首先调用 ShowWindow()?

    首先需要注意的是 我最近才开始学习 WinAPI 我确信这个问题以前已经被问过很多次了 但由于某种原因我在网上找不到它 问题很简单 为什么要费心最初的电话ShowWindow 在体内WinMain 在消息循环执行之前 为什么不简单地通过使用
  • 如何找出 C++ 警告的数量

    我已开启 Wall在我的代码中消除所有警告 然而 有些我想在代码中允许 所以我在代码中禁用这些 在常见的问题中 我可以轻松地在 Google 中找到警告编号并禁用它们 例如 pragma warning disable 4127 但有些 我
  • PyCharm 和外部工具过滤器

    我正在尝试使用 PyCharm 进行 Django 开发 到目前为止我非常高兴 我的团队严格遵循 PEP8 格式 并使用 pep8 命令行程序进行检查以确保我们的代码符合要求 我已经配置了一个外部工具命令来运行 pep8 并且运行良好 我看
  • gsutil:仅列出目录(错误?)

    gsutil ls d gs XXX test gs XXX test gs XXX test 336x280 swf gz 所以它不仅列出目录 以 以及常规文件 以 gz例如 但据我了解 这个命令应该只列出目录 错误在哪里 gsutil
  • 使用 Twitter Bootstrap 导航栏进行导航的正确方法是什么?

    我正在使用 Twitter Bootstrap 3 创建一个网页 我使用导航栏的直觉是让每个项目导航到新的 href 然而 我见过以不同的方式处理这个问题 有些页面确实导航到新的 href 并触发页面加载 可能使用某种模板在所有 html
  • Html Agility - 将解析保存到字符串

    刚刚第一次尝试使用 Html Agility Pack 并遇到了问题 首先 我从字符串变量加载 string NewsText dr Message ToString HtmlAgilityPack HtmlDocument htmlDoc
  • 如何创建堆积线图

    在 R 中创建堆积条形图有多种解决方案 但如何绘制堆积线图呢 可以使用以下命令创建堆积线图ggplot2包裹 一些示例数据 set seed 11 df lt data frame a rlnorm 30 b 1 10 c rep LETT
  • 当报告需要很长时间运行时,如何解决套接字关闭的问题?

    我正在运行用 iReport 制作的 Clarity 报告 我的一份报告非常复杂 有时需要很长时间才能运行 取决于参数 有时 花了太长时间 我收到一条消息说 插座关闭 当报表快速运行时 不会出现此消息 我认为这意味着运行已超时 我目前正在努
  • 单元测试应该如何处理预期和意外的异常?

    当预期的异常发生时 它是否应该通过测试 当出现意外异常时 测试是否会失败 处理异常是否多余 因为它会使测试失败并因此充当测试 测试预期的异常 你必须添加expected属性具有预期的异常 因此如果抛出指定的异常 测试将通过 否则就会失败 例
  • 逐行编写 Lua 脚本

    我使用以下命令将 Lua 脚本添加到我的 C 应用程序中动态Lua http dynamiclua codeplex com 图书馆 它运作得很好 我想实现您获取正在执行的当前行 就像在 Visual Studio 中一样 并突出显示它 目