Решение на Втора задача от Томислав Иванов

Обратно към всички решения

Към профила на Томислав Иванов

Резултати

  • 0 точки от тестове
  • 0 бонус точки
  • 0 точки общо
  • 0 успешни тест(а)
  • 12 неуспешни тест(а)

Код

class Song
def initialize(string2)
arr=[]
string2.concat('.').each_line('.') { |n| arr.push n.strip }
@name = arr[0].gsub('.','')
@artist = arr[1].gsub('.','')
@genre = arr[2].split(',')
if(@genre[1] != nil)
@subgenre = @genre[1].strip.gsub('.','')
else
@subgenre = 'none'
end
@genre = @genre[0].gsub('.','')
if(arr[3] != '.' && arr[3] != nil)
@tags = arr[3].gsub('.','')
else
@tags = 'none'
end
end
def change_tags (tags)
if @tags != '' and @tags != 'none'
@tags = @tags.concat(', ').concat(tags).gsub('[','').gsub(']','')
else
@tags = tags.gsub('[','').gsub(']','').gsub('"','')
end
end
def name
@name
end
def artist
@artist
end
def genre
@genre
end
def subgenre
@subgenre
end
def tags
@tags
end
end
class Collection
def initialize(string, stringTags)
@arrSongs = []
arrArtist = []
i=0
string.each_line { |n| @arrSongs.push Song.new(n) }
@arrSongs.each do |n|
arrArtist.push n.artist
end
arrArtist.each do |value|
if stringTags.has_key? (value)
@arrSongs[i].change_tags (stringTags[value].to_s.gsub('"',''))
end
i+=1
end
end
def arraySongs
@arrSongs
end
def find(criteria)
arraySongs.select do |k|
puts k.artist == criteria['artist:']
end
end
end

Лог от изпълнението

▸ Покажи лога

История (1 версия и 0 коментара)

Томислав обнови решението на 31.10.2011 16:56 (преди над 13 години)

▸ Покажи разликите
+class Song
+ def initialize(string2)
+ arr=[]
+ string2.concat('.').each_line('.') { |n| arr.push n.strip }
+ @name = arr[0].gsub('.','')
+ @artist = arr[1].gsub('.','')
+ @genre = arr[2].split(',')
+ if(@genre[1] != nil)
+ @subgenre = @genre[1].strip.gsub('.','')
+ else
+ @subgenre = 'none'
+ end
+ @genre = @genre[0].gsub('.','')
+ if(arr[3] != '.' && arr[3] != nil)
+ @tags = arr[3].gsub('.','')
+ else
+ @tags = 'none'
+ end
+ end
+ def change_tags (tags)
+ if @tags != '' and @tags != 'none'
+ @tags = @tags.concat(', ').concat(tags).gsub('[','').gsub(']','')
+ else
+ @tags = tags.gsub('[','').gsub(']','').gsub('"','')
+ end
+ end
+ def name
+ @name
+ end
+ def artist
+ @artist
+ end
+ def genre
+ @genre
+ end
+ def subgenre
+ @subgenre
+ end
+ def tags
+ @tags
+ end
+
+end
+class Collection
+ def initialize(string, stringTags)
+ @arrSongs = []
+ arrArtist = []
+ i=0
+ string.each_line { |n| @arrSongs.push Song.new(n) }
+ @arrSongs.each do |n|
+ arrArtist.push n.artist
+ end
+ arrArtist.each do |value|
+ if stringTags.has_key? (value)
+ @arrSongs[i].change_tags (stringTags[value].to_s.gsub('"',''))
+ end
+ i+=1
+ end
+ end
+ def arraySongs
+ @arrSongs
+ end
+
+ def find(criteria)
+ arraySongs.select do |k|
+ puts k.artist == criteria['artist:']
+ end
+ end
+
+
+
+
+ end