我想了解在Scala中解析,和我有很多的例子,我有點明白...斯卡拉(),相較於{}
有一件事我有一個困難時期搞清楚是()vs爲{}。我已經嘗試了兩種方式,看起來我可以在一箇中做一件事,但它在另一件事中突破。
例如,這不工作:
def encode(number: String): Set[List[String]] =
if (number.isEmpty) Set(List())
else {
for (
split <- 1 to number.length
word <- wordsForNum(number take split)
rest <- encode(number drop split)
) yield word :: rest
}.toSet
但是,如果將其更改爲{},它編譯:
def encode(number: String): Set[List[String]] =
if (number.isEmpty) Set(List())
else {
for {
split <- 1 to number.length
word <- wordsForNum(number take split)
rest <- encode(number drop split)
} yield word :: rest
}.toSet
這些例子都是從Coursera類我服用。教授沒有提到視頻中的「爲什麼」&我想知道是否有人知道。
謝謝!
感謝真正徹底的答案 - 我沒有多VS單行例子連接需要{}我正在努力。 – anonygrits 2014-11-02 11:34:21