[转]:插件使用之加载自定义lua脚本

news/2024/7/7 11:14:44

xmake里面的lua脚本加载插件,可以让你方便调试和编写一些自定义的lua脚本,这个时候xmake就是一个纯lua的加载引擎。。

例如,我想写个简单的hello xmake!的lua脚本,可以自己建个 hello.lua 文件,编写如下脚本:

function main()
    print("hello xmake!")
end

main是入口函数,就跟平常写c类似,然后加载执行下这个lua脚本就行了:

    xmake lua /home/xxx/hello.lua
or  xmake l /tmp/hello.lua

下面在来个稍微高级点的,我要传递参数进来,可以这么写:

function main(argv)
    -- 打印所有参数值
    for _, value in ipairs(argv) do
        print(value)
    end

    -- 或者可以直接dump所有
    table.dump(argv)
end

然后我们执行下,试试:

xmake lua /tmp/hello.lua hello xmake

简单吧,当然除了lua内置的大部分模块,例如:os, string, table, ... 等等,xmake的lua加载器还提供其他更丰富的模块类库
可以通过 import 导入后使用,所有导入的模块支持跟插件开发中使用的类库是一样的,具体类库的使用,请参考:插件开发之类库使用

下面我主要介绍下,xmake lua插件提供的一些内置shell脚本,这些脚本是linux下的一些shell工具子集,用于实现跨平台执行,例如:

xmake lua cat
xmake lua cp
xmake lua echo
xmake lua mv
xmake lua rm
xmake lua rmdir
xmake lua mkdir

现在提供的工具不是很多,但是以后可以慢慢扩充,扩展起来还是很方便的,只需要把对应脚本:cat.lua 放到 xmake lua插件目录的 scripts 目录下就行了。。

例如我想要跨平台运行 cat 命令,可以这么执行:

    xmake lua cat /tmp/a
or  xmake l cat c:\\a.txt

等以后工具扩充的越来越多,相当于在各个平台下,有了一套完善的linux的shell工具,方便日常开发使用

如果你想要看下xmake当前版本支持了哪些内置的shell工具,可以执行:

    xmake lua -l
or  xmake lua --list

  • XMake项目主页

  • XMake项目详情

  • XMake项目源码

  • XMake项目文档

  • 原文出处:http://tboox.org/cn/2016/07/07/plugin-lua/


http://www.niftyadmin.cn/n/2571185.html

相关文章

No module named yum错误的解决办法

今天用yum安装软件的时候出现如下错误: There was a problem importing one of the Python modules required to run yum. The error leading to this problem was: No module named yum Please install a package which provides this module, or verify that the module is i…

三大阶段,四大领域,带你走进AIoT

前序(https://mp.weixin.qq.com/s/23c58lYWd2HS4N-RB1XVhw) AIoT即AIIoT,指的是人工智能技术与物联网在实际应用中的落地融合。目前,越来越多的行业及应用将AI与IoT结合到了一起,AIoT已经成为各大传统行业智能化升级的…

计算机维护与维修学什么,计算机维护与维修教学全套试题.doc

教学单元一 认知整机与配件一、填空题1 、_______ 年,美国宾夕法尼亚大学研制成功了世界上第一台电子计算机_______ ,标志着电子计算机时代的到来。随着电子技术,特别是微电子技术的发展,依次出现了分别以_______ 、 _______ 、 _…

2020-12-05 学习c++的记录 关于我对return 0 的新认识

作为一名刚进入大学生活两个月的计算机菜鸟;今天给大家分像一个二维数组的题吧初来乍到的我感觉挺有难度的(各位计算机大神不喜勿喷) 原题: 给定一个55的矩阵,每行只有一个最大值,每列只有一个最小值&…

柳州职业技术学院计算机分数,柳州职业技术学院录取分数线2021是多少分(附历年录取分数线)...

柳州职业技术学院录取分数线2020是多少分,各专业录取分数线是多少,是每个填报柳州职业技术学院的考生最关注的问题,随着各省高考录取批次相继公布,考生也开始关心是否被录取,本站小编整理相关信息供参考,仅…

bzoj3064: Tyvj 1518 CPU监控

填坑计划。。。 这是历史最值线段树的裸蹄,考察的也就是对打(xjb)标(tao)记(lun)的应用,也就是merge函数 考虑在维护最大值的基础上记录历史最值,以及一个历史最值懒标记 假设这个懒标记为二元组(add,cover)表示历史最值是当前的最大值(未下放…

2020/12/05记录编码生活,对break的理解

这是前几天做过的一个题当时也困扰了我不少时间 原题 已有一个已经排好序的数组&#xff0c;从键盘输入任意一个数&#xff0c;将其插入到数组中&#xff0c;数组仍然是有序的。 #include <bits/stdc.h>using namespace std;int main() {int arr[9]{1,3,5,7,9,11,13,15}…

Spring MVC静态资源处理——mvc:resources / ||mvc:default-servlet-handler /

优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源&#xff0c;所以在web.xml中配置DispatcherServlet的请求映射&#xff0c;往往使用 *.do 、 *.xhtml等方式。这就决定了请求URL必须是一个带后缀的URL&#xff0c;而无法采用真…