mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	E language with samples
This commit is contained in:
		
							
								
								
									
										31
									
								
								samples/E/Extends.E
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								samples/E/Extends.E
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
# 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.`)
 | 
			
		||||
		Reference in New Issue
	
	Block a user