In C#/Java, we have toString() that returns the string representation of an
object. When you use Console.writeLine() or System.out.println(), and pass an object,
it will use toString() automatically.
When I write my own toString() function, I have to use it manually:
class Character {
construct new(name,life){
_name = name
_life = life
}
toString(){
return "Name: %(_name) Life: %(_life)"
}
var nova = Character.new("Nova",100)
System.print(nova.toString())
How do I get print() to use it automatically?
>Solution :
Use a getter instead of a function:
toString { "Name: %(_name) Life: %(_life)"}
var nova = Character.new("Nova",100)
System.print(nova) # Output: Name: Nova Life: 100