v_scratch/13_functions/anonynous_higher.v

39 lines
433 B
V

fn sqrt(n int) int{
return n*n
}
fn cube(n int) int{
return n*n*n
}
fn run(value int, op fn(int) int) int{
return op(value)
}
pub fn main(){
println(run(5, sqrt))
double_fn := fn(n int) int {
return n + n
}
println(5, double_fn)
res := run(5, fn(n int) int{
return n+n
})
println(res)
fns := [sqrt, cube]
println(fns[0](10))
fns_map := {
'sqrt' : sqrt
'cube' : cube
}
println(fns_map['cube'](2))
}