2016-05-25 1 views
2

私は、Scalaよりも多くの場合、さまざまな方法で何かを書くことができることを認識しています。私は以下のコードスニペットに出くわしました。スカラの中括弧は冗長でしょうか?

case class A() extends C {} 

Cは、私はその性能/機能のいずれかの根本的な違いがあるかどうかを知りたいと思い、いくつかのクラス

ある

case class B() extends C 

もしそうでなければ、なぜ誰かがそれを除いたものに中括弧でスニペットを好むのですか?

答えて

3

2つの間に違いはありません。 Scala Language Specificationから(章5.3):

クラス本体 {統計}は、空のボディを{}

なぜ誰かがでスニペットを好むであろうと想定される場合には、省略することができます中括弧?私は誰もが望むかどうかわかりませんが、この構文が構文の明確さと完全性のために有効であると考えることができます:通常、Scalaが何か( "構文砂糖")の短縮形を提供するとき、完全な構文( "de-sugared"も有効です。