v2 / vlib / v / checker / tests / fn_call_arg_mismatch_err_d.vv
19 lines · 16 sloc · 331 bytes · ea4152ee1450f68fbcf354f576e170079a4ea9c6
Raw
1type Flag = bool | f64 | int | string
2
3fn parse_percent(value string) f64 {
4 f_val := value.f64()
5 if f_val >= 0 && f_val <= 100 {
6 return f_val
7 } else {
8 return 0
9 }
10}
11
12fn parse_option(str string, validator fn (string) ?Flag) ?Flag {
13 return validator(str)
14}
15
16fn main() {
17 t := parse_option('45', parse_percent)?
18 println(t)
19}
20