У меня есть объект мира:Ожидаемое(), но нашел-структуру
use rand::{thread_rng, Rng};
use super::world::World;
pub struct Worlds {
worlds: Vec<World>
}
impl Worlds {
pub fn new(world: Vec<World>) -> Worlds {
Worlds { worlds: world }
}
pub fn get_random_world(&self) -> World {
let mut rng = thread_rng();
if self.worlds.len() > 0 {
let world_index: usize = rng.gen_range(0, self.worlds.len());
self.worlds[world_index]
}
self.worlds[0]
}
}
Структура Worlds
принимает вектор структур, называемых World
(я могу разместить этот код, если вам это нужно).
get_random_world
Предполагается вернуть структуру World
, и делает с self.worlds[world_index]
, но, по-видимому, он ожидает ()
.
Я потерян; Я сказал ему, что вернуть, он возвращает это, но он ожидает чего-то другого?
|
20 | self.worlds[world_index]
| ^^^^^^^^^^^^^^^^^^^^^^^^ expected(), found struct `game::world::world::World`
|
= note: expected type `()`
= note: found type `game::world::world::World`
Я не уверен, что делать в этот момент.
Дубликат http://stackoverflow.com/q/24579756/155423; http://stackoverflow.com/q/37554325/155423; http://stackoverflow.com/q/24502282/155423; http://stackoverflow.com/q/39522242/155423 и, возможно, другие. – Shepmaster
Если 'self.worlds.len()> 0' is * not * true, длина равна 0, а индексирование в 0 будет паниковать. Возможно, вы захотите вернуть опцию «». –