mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
32 lines
744 B
Plaintext
32 lines
744 B
Plaintext
# from
|
|
# http://wiki.erights.org/wiki/Walnut/Ordinary_Programming/Objects_and_Functions
|
|
def makeVehicle(self) {
|
|
def vehicle {
|
|
to milesTillEmpty() {
|
|
return self.milesPerGallon() * self.getFuelRemaining()
|
|
}
|
|
}
|
|
return vehicle
|
|
}
|
|
|
|
def makeCar() {
|
|
var fuelRemaining := 20
|
|
def car extends makeVehicle(car) {
|
|
to milesPerGallon() {return 19}
|
|
to getFuelRemaining() {return fuelRemaining}
|
|
}
|
|
return car
|
|
}
|
|
|
|
def makeJet() {
|
|
var fuelRemaining := 2000
|
|
def jet extends makeVehicle(jet) {
|
|
to milesPerGallon() {return 2}
|
|
to getFuelRemaining() {return fuelRemaining}
|
|
}
|
|
return jet
|
|
}
|
|
|
|
def car := makeCar()
|
|
println(`The car can go ${car.milesTillEmpty()} miles.`)
|