Default operators on a record
The complete source of records_default_operator.ek9, compiled by the EK9 compiler. Shown on records.html.
#!ek9 defines module site.records.defaultoperator defines record Coordinates latitude as Float: Float() longitude as Float: Float() default Coordinates() Coordinates() -> latitude as Float longitude as Float this.latitude: latitude this.longitude: longitude //EK9 to provide default implementations default operator defines program DefaultOperator() stdout <- Stdout() first <- Coordinates(51.5, -0.12) second <- Coordinates(51.5, -0.12) stdout.println(`${first} ${first == second} ${first <=> second} ${first?}`)
Download records_default_operator.ek9
Output
Coordinates(latitude=51.5, longitude=-0.12) true 0 true