58 lines
699 B
V
58 lines
699 B
V
pub fn main(){
|
|
|
|
my_int := 1
|
|
|
|
my_closure := fn[my_int] (){
|
|
println(my_int)
|
|
}
|
|
|
|
my_closure()
|
|
|
|
// ====================================================== //
|
|
|
|
mut i := 1
|
|
|
|
func := fn[i] () int {
|
|
return i
|
|
}
|
|
|
|
println(func() == 1)
|
|
i = 1
|
|
println(func() == 1)
|
|
|
|
// ====================================================== //
|
|
|
|
c := new_counter()
|
|
|
|
println(c())
|
|
println(c())
|
|
println(c())
|
|
|
|
mut i2 := 0
|
|
mut ref := &i2
|
|
|
|
println_counter := fn[ref] ()
|
|
{
|
|
println(*ref)
|
|
}
|
|
|
|
println_counter()
|
|
i2 = 10
|
|
println_counter()
|
|
|
|
f(dump(100),dump(200),dump(300))
|
|
|
|
}
|
|
|
|
fn f(a1 int, a2 int, a3 int){
|
|
dump(a1+a2+a3)
|
|
}
|
|
|
|
fn new_counter() fn() int{
|
|
mut i := 0
|
|
|
|
return fn[mut i] () int{
|
|
i++
|
|
return i
|
|
}
|
|
} |