В моей программе Scala у меня есть тип данных Foo
, и я хочу написать для него двоичный оператор >>
.
Вот пример кода.
class Foo {}
object BinaryOps {
def >>(f1: Foo, f2: Foo): Foo = ???
def main(args: Array[String]): Unit = {
val f1 = new Foo()
val f2 = new Foo()
// val f3 = f1 >> f2 // Error: cannot resolve symbol >>
val f4 = >>(f1, f2) // works, but I want the binary op syntax.
// val f5 = f1 >> f2 >> f3 >> f4 // ultimate goal is to be able to chain calls.
}
}
Пока что моя IDE показывает мне, что не может разрешить символ >>
, то есть компилятор не пытается использовать его в качестве бинарного оператора.
Как я могу изменить его, чтобы найти символ иможет использоваться как бинарный оператор?
Редактировать : что делать, если Foo нельзя изменить?что если это может?