Added comments

This commit is contained in:
Dawid Pietrykowski 2023-06-20 18:47:27 +02:00
parent c76559dda2
commit 4f793a3569

View File

@ -11,12 +11,14 @@ struct Playlist{
}
impl Playlist{
// Empty constructor
fn new() -> Playlist {
Playlist{
songs: Vec::new(),
}
}
// Generates iterator from playlist
fn iter(&self) -> PlaylistIterator{
PlaylistIterator{
playlist: self,
@ -24,6 +26,7 @@ impl Playlist{
}
}
// Adds a song to playlist
fn add_song(&mut self, song: Song){
self.songs.push(song);
}
@ -38,15 +41,22 @@ impl<'a> Iterator for PlaylistIterator<'a>{
type Item = &'a Song;
fn next(&mut self) -> Option<Self::Item> {
// Attempts to get current song
let song = self.playlist.songs.get(self.current_index as usize);
// Moves id to next song
self.current_index += 1;
// Returns song or nothing
song
}
}
fn main() {
// Creating a playlist
let mut playlist = Playlist::new();
// Adding songs to a playlist
playlist.add_song(
Song{
name: String::from("s1"),
@ -69,6 +79,7 @@ fn main() {
}
);
// Iterating over playlist and printing song information
for song in playlist.iter(){
println!("{:?}", song);
}