脚本执行与函数调用

使用 Client 对象的 run 系列方法执行脚本或函数。

脚本执行

语法

run_script(script: &str)

参数

script 待执行的脚本。

详情

如果 script 有返回值,则返回一个 ConstantImpl 对象;否则返回 None。

例子

let res1 = client.run_script("a = pair(`a, `b)").await.unwrap();
let res2 = client.run_script("now()").await.unwrap();

函数调用

语法

run_function(function: &str, args: &[ConstantImpl])

参数

function 要调用的函数。

args 函数的参数。

详情

如果 function 有返回值,则返回一个 ConstantImpl 对象;否则返回 None。

例子

// 调用无参数的函数
let ver = client.run_function("version", &[]).await.unwrap().unwrap();

// 调用一元函数
let v = Vector::<Int>::from_raw(&[1,2,3]);
let res  = client.run_function("max", &[v.into()])
        .await
        .unwrap()
        .unwrap();

// 调用多元函数
let sum = client
        .run_function("add", &[Int::new(1).into(), Int::new(2).into()])
        .await
        .unwrap()
        .unwrap();