Я шел через книгу кулинарии Скала для обработки файлов и натолкнулся на код ниже. Пытался запустить его в моей среде IDE, но получив ошибку. Я что-то пропустил, я никогда раньше не встречал такой синтаксис для массива.Синтаксис деконструкции Array
import java.io.IOException
import scala.io.{BufferedSource, Source}
object ReadingCSVfile extends App {
var bufferedSource = None: Option[BufferedSource]
try {
bufferedSource =
Some(
Source.fromFile(
"C:\\Users\\pswain\\IdeaProjects\\test1\\src\\main\\resources\\finance.csv")
)
for(i <- bufferedSource.get.getLines()) {
val Array(month, Income, Expenses, Profit) = i.split(",").map(x => x.trim)
println(s"$month $revenue $expenses $profit")
}
} catch {
case e : IOException => print(e.printStackTrace())
} finally {bufferedSource.get.close()}
}
Этот синтаксис в основном соответствует шаблону, применяемому в левой части знака равенства. Массив разбивается на именованные значения в левой части. – Samar