title: Getting the parameters of a case class through Reflection
body: <p>As a follow up of 
  <a href="https://stackoverflow.com/questions/2224251/reflection-on-a-scala-case-class">Matt R's question</a>, as Scala 2.10 has been out for quite an amount of time, what would be the best way to extract the fields and values of a case class. Taking a similar example:</p>
  
  <pre><code>case class Colour(red: Int, green: Int, blue: String) {
    val other: Int = 42
  } 
  
  val RBG = Colour(1,3,"isBlue")
  </code></pre>
  
  <p>I want to get a list (or array or any iterator for that matter) that would have the fields declared in the constructor as tuple values like these:</p>
  
  <pre><code>[(red, 1),(green, 3),(blue, "isBlue")]
  </code></pre>
  
  <p>I know the fact that there are a lot of examples on the net regarding the same issue but as I said, I wanted to know what should be the most ideal way to extract the required information</p>