为什么80%的码农都做不了架构师?>>>   

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) doprint(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项目文档

转载于:https://my.oschina.net/tboox/blog/707500

插件使用之加载自定义lua脚本相关推荐

  1. 【Android 插件化】Hook 插件化框架总结 ( 插件包管理 | Hook Activity 启动流程 | Hook 插件包资源加载 ) ★★★

    Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...

  2. 【Android 插件化】Hook 插件化框架 ( 加载插件包资源 )

    Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...

  3. php定义一个名为Vehicles,[PHP][Yii2.0] 以Yii 2.0风格加载自定义类或命名空间 [配置使用Yii2 autoloader]...

    Yii 2.0最显著的特征之一就是引入了命名空间,因此对于自定义类的引入方式也同之前有所不同.这篇文章讨论一下如何利用Yii 2.0的自动加载机制,向系统中引入自定义类和命名空间.本文旨在抛砖引玉,如 ...

  4. AutoCAD C# 自动加载自定义RibbonUI界面

    目录 实现效果: 开发环境: 开发流程: 打开Visual Studio ,创建 .NET FrameWork 类库项目 填写项目名称 "RibbonUI",选择.NET 版本为 ...

  5. 高德地图海量点加载自定义fonticon,canvas绘制fonticon

    1.自定义海量点的图标,需要用到AMAPui组件库.2.0版本引入过程: AMapUI.PointSimplifier,绘制引擎的官方文章PointSimplifier.Render.Canvas 2 ...

  6. ps html插件初始化失败,PS插件提示 “无法加载扩展,因为它未正确签署” 解决方法...

    Adobe 更新到了 CC 2019版本以后,各种好用的插件.滤镜.扩展功能也陆续开始了更新,问题来了,也许适配新版出现了兼容问题,加载插件提示无法加载扩展,因为它未正确签署,具体什么原因,咱也不知道 ...

  7. 要注意页面中加载的第三方脚本

    如果页面需要加载第三方的脚本,或访问第三方URL的时候,除非特殊需要,否则一定不要放在页面代码的头部,而应该放在页面的最底部,最晚加载.这样有利于加快网站的速度.因为如果第三方面脚本下载很慢的话,那整 ...

  8. Visual C++——加载自定义光标

    基本概念 自定义光标:自定义光标保存在扩展名为.cur的文件中 光标名 CURSOR 光标文件(.cur) 采用自定义光标时,需在资源文件中定义光标资源. API LoadCursor:第一个参数是要 ...

  9. Android开发之WebView加载自定义scheme报错net::ERR_UNKNOWN_URL_SCHEME(附带源码标题下面可点击下载)

    咱们先看下报错结果图: 我这边是华为荣耀7i手机才出现这个情况,总结得出结论android6.0以上加载自定义scheme会报错如下,6.0以下貌似不会 三星和模拟器没有可以直接加载这个url ,网页 ...

最新文章

  1. 《程序员之禅》一一第3章 为什么要进行禅修编程
  2. 新建swap分区的规划、挂载和自动挂载示例
  3. 全球及中国冠状动脉内支架行业运行现状与十四五发展状况分析报告2022版
  4. 分布式认证-技术方案
  5. Citrix VDI攻略之四:PVS安装及配置
  6. SAP CRM Fiori Opportunity应用功能一览
  7. Acwing 1082. 数字游戏
  8. node js npm grunt安装,elasticsearch-head 5.X安装
  9. VM VirtualBox 安装Window XP3安装版
  10. 电阻参数_电阻器的主要技术参数、分类和选用
  11. ABP 在中抛出“Cannot access a disposed object. A common cause of this error is disposing”异常分析
  12. python之生成器函数
  13. 看《李开复先生谈创新思维》
  14. android wear 神奇宝贝,宝可梦Home安卓版下载_宝可梦Home手机app官方版(Pokemon Home) v1.0.3-安族游戏网...
  15. 算符优先算法java实现,算符优先算法
  16. 百度AI的语音识别与语音合成
  17. 面试时应该采取什么方法才能克服紧张的情绪?
  18. PIL Image打开tif图片出错(以前没有这个问题)
  19. 【转】Spring Boot 日志配置(超详细)
  20. DISCUZ门户文章列表页封面输出原图

热门文章

  1. HTTP代理神器Fidder
  2. androidannotations
  3. 导向滤波python_导向滤波(Guided Filter)简要介绍
  4. android 定位服务 耗电吗,关于Android的定位服务
  5. 连接linux软件发复制文件过去,linux基本文件操作
  6. Redis:主从复制原理
  7. 阐述计算机历程以及未来发展方向,计算机程序的发展史
  8. python深复制与浅复制_Python中的深拷贝和浅拷贝详解
  9. (转)函数指针,指针函数,指向函数的指针,返回指针的函数
  10. grep与正则表达式基础