Bir vektör oluşturmak istiyorum, ancak yalnızca vektörün çalışma zamanında olmasını istediğiniz boyutu biliyorum. Bu benim (yani boş, değişken vektörü oluşturma ve buna vektörleri ekleyerek) Şimdi yapıyorum nasıl:Sabit olmayan uzunlukta bir vektör oluşturma
fn add_pairs(pairs: ~[int]) -> ~[int] {
let mut result : ~[int] = ~[];
let mut i = 0;
while i < pairs.len() {
result += ~[pairs[i] + pairs[i + 1]];
i += 2;
}
return result;
}
Ben böyle (yapmak istiyorum nasıl yani vektör yaratmak ve her şeyi koyarak bunun yerine, onu) birlikte vektörlerin sürü ekleme:
error: expected constant expr for vector length: Non-constant path in constant expr
let result: ~[int, ..number_of_pairs];
^~~~~~~~~~~~~~~~~~~~~~~~
Ben vektörler boyutları derleme t tanıyoruz zorunda olduğu izlenimini alıyorum: Maalesef
fn add_pairs(pairs: ~[int]) -> ~[int] {
let number_of_pairs = pairs.len()/2;
let result : ~[int, ..number_of_pairs];
let mut i = 0;
while i < pairs.len() {
result[i] = pairs[2 * i] + pairs[2 * i + 1];
i += 1;
}
return result;
}
yapıyor yukarıda bana şöyle veriyor ime (ve böylece boyutlarını sabit olarak ayarlamanız gerekir). Java arkaplanından geliyor, kafam karıştı! Boyutu yalnızca sizin çalışma zamanında bildiğiniz bir vektör yaratmanın bir yolu var mı?
Pas 0.6 kullanıyorum.
Bu iyi bir arayış oldu ama şimdi Pas eski 0,6 ... – poolie