2015-06-14 11:13:30 -04:00
|
|
|
import util:*
|
|
|
|
|
import io:*
|
|
|
|
|
|
|
|
|
|
obj test(Object) {
|
|
|
|
|
var counter:int
|
2015-07-04 17:02:51 -04:00
|
|
|
fun construct(): *test {
|
2015-06-14 11:13:30 -04:00
|
|
|
counter = 0
|
|
|
|
|
println("construct with 0")
|
|
|
|
|
return this
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-04 17:02:51 -04:00
|
|
|
fun construct(it:int): *test {
|
2015-06-14 11:13:30 -04:00
|
|
|
counter = it
|
|
|
|
|
print("construct with "); println(it)
|
|
|
|
|
return this
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-04 17:02:51 -04:00
|
|
|
fun copy_construct(old: *test):void {
|
2015-06-14 11:13:30 -04:00
|
|
|
counter = old->counter+1
|
|
|
|
|
print("copy construct from "); print(old->counter); print(" to "); println(counter)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fun destruct():void {
|
|
|
|
|
print("destruct with "); println(counter)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fun main():int {
|
2015-08-06 17:38:41 -04:00
|
|
|
println(min(1,2))
|
|
|
|
|
println(min(7.0,8.0))
|
|
|
|
|
println(max(1,2))
|
|
|
|
|
println(max(7.0,8.0))
|
2015-06-14 11:13:30 -04:00
|
|
|
|
2015-06-28 20:25:27 -04:00
|
|
|
range(3,13, 3).for_each(fun(i: int) { print(i); })
|
|
|
|
|
println()
|
|
|
|
|
range(2,8).for_each(fun(i: int) { print(i); })
|
|
|
|
|
println()
|
|
|
|
|
println(range(2,8,2).any_true(fun(i: int): bool { return i%2 == 1; } ))
|
|
|
|
|
println(range(3).any_true(fun(i: int): bool { return i%2 == 1; } ))
|
|
|
|
|
|
2015-06-14 11:13:30 -04:00
|
|
|
var oddPair = make_pair(3, "hi")
|
|
|
|
|
println(oddPair.first)
|
|
|
|
|
println(oddPair.second)
|
|
|
|
|
|
|
|
|
|
println("construct")
|
|
|
|
|
var test1.construct():test
|
|
|
|
|
var test2.construct(100):test
|
|
|
|
|
println("make_pair")
|
|
|
|
|
var test_pair = make_pair(test1, test2)
|
|
|
|
|
println("done")
|
|
|
|
|
return 0
|
|
|
|
|
}
|