我遵循C系列(PHP是一個想法!)要求,跨越多行的語句必須包含在curlies中。不理解如何在不存在{}卷積塊的情況下解析多行語句
Scala避免在O'Reilly編程Scala中的代碼中解析錯誤。
def apply(specification: String): Option[Widget] = specification match {
case ButtonExtractorRE(label) => new Some(new Button(label))
case TextFieldExtractorRE(text) => new Some(new TextField(text))
case _ => None
}
,而我相信它應該像(函數體被封閉):
def apply(specification: String): Option[Widget] = {
specification match {
case ButtonExtractorRE(label) => new Some(new Button(label))
case TextFieldExtractorRE(text) => new Some(new TextField(text))
case _ => None
}
}
而斯卡拉可以分析它,可以做程序員「得到它」?我不。我是否錯過了一些直觀的想法?
應該我寧願避免這種做法,如果它導致實際問題(如可讀性差?
我不確定我是否理解這個問題。看起來你問爲什麼這個代碼示例可以在沒有大括號的情況下解析,即使示例* does *有大括號。 – 2012-03-23 18:14:48
更新了我的問題。不知道我犯了一個愚蠢的錯誤(以及它是什麼) – aitchnyu 2012-03-23 18:25:22