首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将嵌套的Vecs与wasm-bindgen一起使用?

如何将嵌套的Vecs与wasm-bindgen一起使用?
EN

Stack Overflow用户
提问于 2018-10-12 02:54:07
回答 1查看 925关注 0票数 2

嵌套的Vec似乎不适用于wasm-bindgen。对吗?

我的目标是在锈蚀中有一个生命游戏网格,我可以作为行返回,而不是一个一维Vec,它需要JavaScript来处理索引。我想到的两个解决办法是:

  1. 在Rust中实现一种自定义的“迭代器”,它是一种逐行返回的方法。
  2. 将一个一维数组交给JavaScript,但在JavaScript中编写一个包装器,它处理索引并向使用者公开某种类型的迭代器。

我不愿使用这两种方法,因为我希望这个库能够被JavaScript和本地锈菌使用,而且我不认为它们在纯粹的锈蚀土地上都是非常惯用的。还有其他建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-01 20:15:15

wasm-bindgen现在不支持像Vec<Vec<u8>>这样的返回类型,这是正确的。

对于WebAssembly来说,一个很好的经验法则是,大块数据(如向量)应该始终驻留在同一个位置,以避免丢失太多的性能。这意味着您可能希望探索一个接口,其中JS对象将指针封装到WASM内存中,其所有方法都与行/列索引一起工作,但修改WASM内存以保持其作为真理的来源。

如果这不可行,那么今天实现这一目标的最佳方法就是您提到的策略之一,尽管这两种策略都需要编写某种级别的JS胶水代码。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52771525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档