我一直在慢慢地浏览https://github.com/aturley/pony-workshop/,在进行04中的最后一个练习时,我想将不可发送的Array [U8] ref转换为String。这导致我:
actor Main
let _buffer : Array[U8] = ['a'; 'b'; 'c']
new create(env: Env val) =>
let b1 : Array[U8] iso = []
for v in _buffer.values() do
b1.push(v)
end
env.out.print("Got '" + String.from_iso_array(consume b1) + "'")
https://playground.ponylang.org/?gist=e7170e1f8ba2f89655279d5cd8e86e37
对此我有点不满意,因为我想对数组做某种'deep_clone()'来获取iso ...但是就目前而言,我什至无法获取append工作(由于使用非可发送参数调用引用)。
我已经以另一种/更精细的方式(使用印章)解决了该问题,但仍想了解是否有可能进行更清晰的阵列复制。