36 lines
472 B
V
36 lines
472 B
V
fn get_int() int {
|
|
return 42
|
|
}
|
|
|
|
fn dub_int(i int) int {
|
|
return i * 2
|
|
}
|
|
|
|
struct Fun<F> {
|
|
mut:
|
|
call F
|
|
}
|
|
|
|
type FunZero = fn () int
|
|
|
|
fn main() {
|
|
fun0 := Fun<FunZero>{
|
|
call: get_int
|
|
}
|
|
println(fun0.call())
|
|
println(fun0.call(1234))
|
|
println(fun0.call(1234, 5678))
|
|
|
|
fun1 := Fun<fn (int) int>{
|
|
call: dub_int
|
|
}
|
|
|
|
println(fun1.call(42))
|
|
println(fun1.call())
|
|
println(fun1.call(42, 43))
|
|
|
|
println(fun1.call(true))
|
|
println(fun1.call('text'))
|
|
println(fun1.call(22.2))
|
|
}
|