Скажем, у меня есть код Scala, как это:
// Outputs 1, 4, 9, 16, 25, 36, 49, 64, 81, 100
println( squares)
def squares = {
val s = for ( count <- 1 to 10 )
yield { count * count }
s.mkString(", ");
}
Почему я должен использовать временные val s? Я пробовал это:
def squares = for ( count <- 1 to 10 )
yield { count * count }.mkString(", ")
Что не удается скомпилировать с этим сообщением об ошибке:
error: value mkString is not a member of Int
def squares = for ( count <- 1 to 10 ) yield { count * count }.mkString(", ")
Не следует ли вызывать mkString
в коллекции, возвращаемой циклом for
?