aardio 文档

aardio 范例: 执行 Python 代码

//执行 Python 代码
import console.int;
import py3; 

py3.main.testData = "可以这样预先指定 Python 全局变量";

//Python 代码,注意 Python 对空格有严格要求,乱按空格报错不是 bug。 
var pyCode = /** 
def getList(a,b):  
    return [a,b,testData] # 返回列表
    #return a,b,testData # Python 多返回值实际是返回一个 tuple
**/

/*
执行 Python3 的代码,
如果参数 pyCode 为类似 "/res/py.aardio" 这样的 aardio 代码路径,
则支持模板语法: https://www.aardio.com/zh-cn/doc/language-reference/templating/syntax
*/
py3.exec( pyCode ) 

//从 py3.main 模块调用 Python 代码定义的函数 
var pyList = py3.main.getList(12,23);

//list 或 tuple 可用下标访问,Python 对象起始索引为 0,aardio 数组起始索引为 1。
var num = pyList[0];

//可以如下遍历 pyObject 对象。
for( pyItem in pyList.each() ){
    console.log(pyItem) //基础类型已转换为纯 aardio 值,其他为 py2.object
}

//pyObject 支持 table.eachIndex 创建的迭代器
for i,pyItem in table.eachIndex(pyList){
    console.log( i,pyItem ) //基础类型已转换为纯 aardio 值,其他为 py2.object
}

//转换为纯 aardio 值
var list = pyList.parseValue()

console.dump(list);  

Markdown 格式