Я думаю, вы хотите поведение :paste
. :load
ведет себя так, как будто вы печатаете в интерпретаторе, т.е. он интерпретирует, как только находит закрывающие скобки. Вы можете эмулировать :paste
, обернув свой код в некоторый объект, подобный этому:
object Test {
trait MyOrdered {
def <(that: MyInt):Boolean = compare(that) < 0
def >(that: MyInt):Boolean = compare(that) > 0
def <=(that: MyInt):Boolean = compare(that) < 0 || this == that
def >=(that: MyInt):Boolean = compare(that) > 0 || this == that
def compare(that: MyInt): Int
}
class MyInt(val value: Int) extends MyOrdered {
def compare(that: MyInt) =
if (this.value < that.value) -1
else if (this.value == that.value) 0
else 1
}
object App extends Application{
val a = new MyInt(2)
val b = new MyInt(4)
println(a < b)
println(a > b)
}
}
Теперь вы можете использовать его как хотите после :load Test.scala
и import Test._