2015-05-09 03:13:40 -04:00
|
|
|
|
|
|
|
|
|
2015-05-16 12:05:23 -04:00
|
|
|
obj Swapper<T> {
|
2015-07-04 17:02:51 -04:00
|
|
|
fun doit(a: *T, b: *T) : void {
|
2015-05-09 03:13:40 -04:00
|
|
|
var temp: T = *a;
|
|
|
|
|
*a = *b;
|
|
|
|
|
*b = temp;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2015-07-04 17:02:51 -04:00
|
|
|
fun swap<T>(a: *T, b: *T) : void {
|
2015-05-09 03:13:40 -04:00
|
|
|
var temp: T = *a
|
|
|
|
|
*a = *b
|
|
|
|
|
*b = temp;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fun print2int(a: int, b: int) : void {
|
|
|
|
|
simple_passthrough(a = a, b = b::) """
|
|
|
|
|
printf("yeah new syntax: %d, %d\n", a, b);
|
|
|
|
|
"""
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fun main() : int {
|
|
|
|
|
var i: int = 7;
|
|
|
|
|
var j: int = 6;
|
|
|
|
|
print2int(i,j)
|
|
|
|
|
swap<int>(&i, &j)
|
|
|
|
|
print2int(i,j)
|
|
|
|
|
var it: Swapper<int>
|
|
|
|
|
it.doit(&i,&j);
|
|
|
|
|
print2int(i,j)
|
|
|
|
|
return 0
|
|
|
|
|
}
|
|
|
|
|
|