-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- The three rules of Ruby Quiz: 1. Please do not post any solutions or spoiler discussion for this quiz until 48 hours have elapsed from the time this message was sent. 2. Support Ruby Quiz by submitting ideas and responses as often as you can. 3. Enjoy! Suggestion: A [QUIZ] in the subject of emails about the problem helps everyone on Ruby Talk follow the discussion. Please reply to the original quiz message, if you can. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RSS Feed: http://rubyquiz.strd6.com/quizzes.rss Suggestions?: http://rubyquiz.strd6.com/suggestions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ## Music Theory (#229) Do-Re-Me Rubyists, I have a musician friend, let's call him Steve. Steve wants to be a legendary guitarist. He practices every day, learning new chords and techniques. But he has a problem. Steve bought all the books, but it's too much trouble to flip through them when he's practicing. He tried all sorts of ways to solve this problem: adhesive notes that adhered to everything, big music stands that kept getting knocked over, websites with loud and annoying video advertisements... everything. He even tried enlisting the help of his trusty cat, Pajamas, to turn the pages, yet nothing worked. He's trying to learn Amaj7 so he can be cool like his hero, Herman Li, but Pajamas clawed out that part of his book. Steve is programmer, so he knows that when solving a problem it should be solved once and forever. Steve wants to write a program where someone can type in Amaj7 and see the notes that comprise the chord. Not only Amaj7 but Dsus2 as well. In fact, any chord at all. Steve, because he is a proper programmer, is lazy. He came to me and asked if I could send this out on the "weekly" Ruby Quiz. Anything to help a friend! Your task is to create a program that will accept strings like: Amaj7, Dsus2, Aminor, C, C9, G#dim, Ebadd9, etc. The output will be the notes that make up the chord, for example Cmajor => C E G Ebdim7 => Eb Gb A C Have fun! And thanks for helping Steve out! -- -Daniel http://rubyquiz.strd6.com