各编程语言 + aardio 相互调用示例

代码简单、复制可用。aardio 快速调用 C,C++,C#,Java,R,V,Python,JavaScript,Node.js,Rust,PHP,Ruby,PowerShell,Fortran,Delphi,Julia,Nim,批处理 …… 演示。

各编程语言 + aardio 相互调用示例_第1张图片

《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 中嵌入并调用批处理:

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=

你可能感兴趣的:(计算机,Java,程序员,java,开发语言,数据库)