EとPiはマッチしません。
コップ本ではval pi = Math.Piとなってますが、プログラムで入力するとval pi = Math.PIとIが大文字になります。または上の上のようにval pi = Piとなるようです。
piが変数でEとマッチングしたようになるようです。デフォルトケースはunreachable code到達できないコードになってるようです。
コップ本の説明から
変数パターンは、ワイルドカードと同じように、任意のオブジェクトにマッチする。しかし、ワイルドカードとは異なり、Scalaはオブジェクトに変数を束縛する。その後は、変数と使ってオブジェクトを操作できる。となってます。(-_-;)
どうしても小文字のpiを使いたいのであれば、`pi`とするとmatchしなくなるようです。ワーニングも出ないようです。
コップ本から
Scalaは先頭が小文字になっている単純名はパターン変数、そうでないものは定数とみなす。バッククォートの使い方は2種類。パターンマッチで小文字に識別子を定数として扱う。(ここの例)キーワードの語を識別子として扱う。ことが出来るそうです。