Моему приложению необходимо прочитать данные из файла, а затем пользователь может найти эти данные, чтобы проверить, существуют ли они.Файл читает идентификатор альбома, затем пользователь должен ввести этот идентификатор, чтобы получить к нему доступ
Текстовый файл
Marcus Hospin
Raw
3 - Genre Value
1 - ID
Sag My Pants
sounds/01-Sag-My-Pants.wav
The Purge
sounds/06-The-Purge.wav
Ill Mind 8
sounds/20-Ill-Mind-8.wav
Код рубина
class Album
attr_accessor :title, :artist, :genre, :id, :tracks
def initialize (title, artist, genre, id)
@title = title
@artist = artist
@genre = genre
@id = id
end
end
def read_album(music_file)
album_artist = music_file.gets
album_title = music_file.gets
album_genre = music_file.gets
album_id = music_file.gets
album = Album.new(album_title, album_artist, album_genre, album_id)
album
end
def main
album = read_album(music_file)
puts 'Enter the ID of the album you wish to play'
search_string = gets.to_s
album.map(&:id).include?(search_string) || -1
if index != -1
puts "Found, playing album " + album[index].id + " at " + index.to_s
else
puts "Entry not Found"
end
end
main
Ожидаемый результат для программы: «Найдено, воспроизводится альбом 1 (ID) со значением 1 (индекс). Но фактический результат равен undefined method `map' for #<Album:0x0000000003357ca0> (NoMethodError)
».