ich eine Welt zum Gegenstand haben:Erwartet() fand aber eine Struktur
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]
}
}
Die Struktur Worlds
einen Vektor von Strukturen genannt nimmt World
(ich kann diesen Code schreiben, wenn Sie es brauchen).
get_random_world
soll eine World
Struktur zurückgeben, und tut dies mit self.worlds[world_index]
, aber anscheinend erwartet es eine ()
.
Ich bin verloren; Ich habe ihm gesagt, was ich zurückgeben soll, es kommt zurück, aber es erwartet etwas anderes?
|
20 | self.worlds[world_index]
| ^^^^^^^^^^^^^^^^^^^^^^^^ expected(), found struct `game::world::world::World`
|
= note: expected type `()`
= note: found type `game::world::world::World`
Ich bin mir nicht sicher, was ich zu diesem Zeitpunkt tun soll.
Duplizieren von http://stackoverflow.com/q/24579756/155423; http://stackoverflow.com/q/37554325/155423; http://stackoverflow.com/q/24502282/155423; http://stackoverflow.com/q/39522242/155423 und wahrscheinlich andere. – Shepmaster
Wenn 'self.worlds.len()> 0 '* nicht * wahr ist, ist die Länge 0 und die Indexierung bei 0 wird in Panik versetzt. Vielleicht möchten Sie eine 'Option' zurückgeben. –