В Scala я бы хотел сделать:
class Identifier(val str: String) {
override def toString(): String = str
}
class Variable(t: Type, name: Identifier, mutable: Boolean) {
override def toString(): String = name
}
Но я не могу, потому что Scala неявно не преобразует name
в определении Variable#toString()
в строку.Есть ли способ, которым это может быть достигнуто?
Для ясности: я не хочу определять дополнительный метод, например:
object Identifier {
implicit def idToString(x: Identifier): String = x.str
}
Я бы хотел, чтобы метод toString()
быть призванным сделать обращение.