Ответ 1
type MySparseVector = List[(Int, Double)]
Пример использования:
val l: MySparseVector = List((1, 1.1), (2, 2.2))
Типы должны быть определены внутри класса или объекта. Вы можете импортировать их впоследствии. Вы также можете определить их в объекте пакета - импорт не требуется в одном пакете, и вы все равно можете импортировать их в другие пакеты. Пример:
// file: mypackage.scala
package object mypackage {
type MySparseVector = List[(Int, Double)]
}
//in the same directory:
package mypackage
// no import required
class Something {
val l: MySparseVector = Nil
}
// in some other directory and package:
package otherpackage
import mypackage._
class SomethingElse {
val l: MySparseVector = Nil
}