我使用newtype,包装整数数组:
struct Foo([int, ..5]);
显然,我不能简单地这样做:
let foo = Foo([1,2,3,4,5]);
let bar = foo[2];
我访问包装数组的准确程度如何?
答案 0 :(得分:5)
有一种半(很快就会是两种)方式:
#![feature(tuple_indexing)]
struct Foo([int, ..5]);
fn main() {
let foo = Foo([1,2,3,4,5]);
let Foo([_, foo_1, ..]) = foo;
let foo_3 = foo.0[3];
println!("[_, {}, _, {}, _]", foo_1, foo_3);
}
具体而言,tuple_indexing
可能很快就会被取消,因此您不需要feature
属性来使用它。
基本上,Foo
是元组结构;也就是说,它的行为或多或少就像一个碰巧有名字的元组。