#友好 #语言 #编程 #绑定 #序列化 #编程语言 #用户

rapi

对 R 编程语言的安全且友好的绑定

1 个不稳定版本

0.1.0 2020年4月9日

#5#序列化

Apache-2.0 协议

6KB

rapi - 一个安全且用户友好的 R 扩展接口。

该库旨在为 Rust 或任何编译语言的初学者提供一个熟悉的接口。

任何熟悉 R 库的人都应该能够编写 R 扩展。

这个库刚刚起步,目标是

实现常见的 R 函数,如 c() 和 print()

示例

let v = c!(1, 2, 3);
let l = list!(a=1, b=2);
print!(v, l);

提供 r 对象的包装器。

示例

let s = RObj::from("hello");
let i = RObj::from(1);
let r = RObj::from(1.0);

提供创建和消耗 r 向量的迭代器支持。

示例

let res = (1..=100).iter().collect::<RObj>();
for x in res {
    print!(x);
}

提供一个过程宏来适配 Rust 函数到 R

示例

#[derive(RCallable)]
fn fred(a: i32) -> i32 {
    a + 1
}

在 R 中


result <- .Call("fred", 1)

依赖关系

~4–5.5MB
~127K SLoC