Марин обнови решението на 30.10.2011 06:55 (преди около 13 години)
OMG, лиценз на кода o.O Личи си кой ходи на работа :).
Беше базик :) Дееба, минаха ме с 14 реда, а аз защо го пействах тоя лиценз...
BTW. надявах се да стане спор тука:
# This class has 5 properties, that's it. LOL, not LoL, cause HoN > LoL
Ама явно всички сме единодушни :)
Не го схванах. Желаеш ли да обясниш?
И да е, продължавам да не разбирам...
По условие този клас можеше да има каквото и да е наименование, но изискването беше да има 5 свойства/полета/умни члена.
И описанието на класа е: "Този клас има 5 свойства." Което води до LOL - laughing out laugh. От тук следва нелогичното продължение: "Но това не го бъркайте с LoL (League of Legends), защото Heroes of Newerth > League of Legends и попринцип LoL изобщо даже не трябва да съществува като дума поради този факт." Приемете го, че смисъла просто беше да каже LoL < HoN, и някой запален фен да възрази и да фърчат trollfaces :)
PS. рофлмаодзедун е по-засилена форма от рофлмао, което е-по силна форма на рофл
- Не вземаме точки за лош хумор. Може би трябва :)
- И с лиценз, и без лиценз...
-
self.class.private_instance_methods
е интересно, обаче разчита на това, които методи са частни. Можеше просто да минеш сself.methods.grep(/^filter_plugin/)
. - Няма нужда да събираш методите в
@plugin_methods
. Всъщност, лоша идея е. Това може би е ОК в Python, но не в Ruby. Тук просто можеш даsend
-ваш. - Тази
plugin
думичка е излишна в методите, които я имат. Звучи тежко. Това не са плъгини. - Това за модула ми харесва. По-точно, харесва ми, че си експериментирал. Трябваше да го миксираш в
Song
, обаче. Така методите му щяха да са по-прости. - Последния ред на
Song#initialize
трябваше да е@tags += [genre, subgenre].compact.map(&:strip)
. - Трябва ти повече
#all?
и#map
, но това го чу в час. - Масив се копира така:
array.dup
, а не така:Array.new(@array)
. - Парсенето ти е по-сложно, отколкото трябва.
Иначе, ще ти дам две бонус точки. Едната е, защото в решението ти има някои добри идеи. Другата е за да насърча експеримента с модула, макар че се е получило твърде дълго.