Own-Programming-Language-Tu.../examples/basics/operator_overloading.own

18 lines
356 B
Plaintext

use "std"
use "types"
use "math"
println "Operator overloading"
def `::`(v1, v2) = string(v1) + string(v2)
print "1 :: 2 :: 3 = "
println 1 :: 2 :: 3
def `^`(v1, v2) = pow(v1[0], v2[0])
print "[2] ^ [7] = "
println [2] ^ [7]
def `..`(a, b) = range(a, b - 1)
def `**`(a, b) = int(pow(a, b))
for y : 1 .. 10 {
println sprintf("2 ^ %d = %d", y, 2 ** y)
}