aardio 支持混入很多不同的编程语言,代码简单,生成的软件体积也很小。下面看示例。
aardio 直接调用系统 API 函数( 支持回调、相互调用 ):
var ret,point = ::User32.GetCursorPos({
int x;
int y;
})
aardio / JavaScript 相互调用( 支持 ES6 ):
import web.script;
var vm = web.script("ES6")
//导出 aardio 函数到 JavaScript
vm.external = {
log = function(...){
console.log(...)
}
}
vm.script = /*****
function TestFunction(a,b) {
return a + b;
}
*****/
var ret = vm.script.TestFunction(2,3);
在 aardio 中调用 Python( Python 调用 aardio 同样简单,参考 aardio 自带范例),简单得就像在 Python 中使用 Python:
import console;
import py3;
//导入 Python 模块。
var itertools = py3.import("itertools")
//调用 Python 函数,支持纯 aardio 类型参数
var permutations = itertools.permutations({
"a","b","c"});
//调用 Python 内置函数 list
var pyList = py3.list(permutations);
//遍历 Python 对象成员
for( item in pyList.each() ){
console.log(item); //像 aardio 对象一样使用 Python 对象
}
console.pause();
aardio 直接调用 .Net / C# 组件( 支持相互调用,支持委托这些)
import win.ui;
var winform = win.form(text="DataGridView")
import System.Data;
var tab = System.Data.DataTable("DT");
tab.Columns.Add("名称");
tab.Rows.Add({
"WangWu"});
import System.Windows.Forms;
var grid = System.Windows.Forms.CreateEmbed("DataGridView",winform);
grid.ColumnHeadersHeightSizeMode = 2;
grid.DataSource = System.Data.DataView(tab);
winform.show();
win.loopMessage();
aardio 直接调用 Java ( 也支持相互调用 )
import java;
var jvm = java();
//加载Java类对象
HelloworldApp = jvm.import("aardio.sample.HelloworldApp");
//也可以如下自内存或文件直接加载类,
HelloworldApp = jvm.import("aardio.sample.HelloworldApp",$"\java\aardio\sample\HelloworldApp.class");
//用 Java 类创建 Java 对象
var helloworld = HelloworldApp();
//直接调用 Java 对象的方法
var result = helloworld.test(3);
用 aardio 编译 C 语言代码生成 DLL 执行文件,再调用 DLL 中的 C 函数:
import tcc;
//编译 DLL
tcc.build( "/start.dll" ).code = /***
#include
__declspec(dllexport) int Add( int a,int b )
{
return a + b;
}
***/
//加载 DLL
var dll = raw.loadDll( "/start.dll",,"cdecl" );
//调用 C函数
var result = dll.Add(12,3);
在 aardio 中嵌入并调用批处理:
```javascript
import console
import process.batch;
//批处理 for 遍历并拆分字符串
var bat = process.batch(`
@echo off
for %%i in (abc,def,xyz) do echo %%i
`)
console.log(bat.read(-1))
console.pause()
aardio 调用 Rust 语言解析 TOML:
import console;
import string.toml;
var str = string.toml.stringify({
abc