Detect division by zero: Difference between revisions
Content added Content deleted
mNo edit summary |
mNo edit summary |
||
Line 2,531: | Line 2,531: | ||
=={{header|V (Vlang)}}== |
=={{header|V (Vlang)}}== |
||
<syntaxhighlight lang="Go"> |
<syntaxhighlight lang="Go"> |
||
fn main() { |
fn main() { |
||
divide(15, 0) |
divide(15, 0) |
||
Line 2,537: | Line 2,538: | ||
fn divide(x f64, y f64) { |
fn divide(x f64, y f64) { |
||
result := x/y |
|||
succeed := divide_error_handler(x, y) or { |
|||
if result.str().contains('inf') == false { |
|||
println( |
println(result) |
||
return |
return |
||
} |
} |
||
println( |
println('Can\'t divide by zero!') |
||
} |
|||
fn divide_error_handler(x f64, y f64) !f64 { |
|||
if y != 0 { |
|||
return x/y |
|||
} |
|||
return error('Can\'t divide by zero!') |
|||
} |
} |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
Line 2,562: | Line 2,557: | ||
fn divide(x f64, y f64) { |
fn divide(x f64, y f64) { |
||
error_handler := fn [x, y] () !f64 { |
error_handler := fn [x, y] () !f64 { |
||
result := x/y |
|||
if result.str().contains('inf') == false {return result} |
|||
return x/y |
|||
} |
|||
return error('Can\'t divide by zero!') |
return error('Can\'t divide by zero!') |
||
} |
} |
||
Line 2,574: | Line 2,568: | ||
} |
} |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
{{out}} |
{{out}} |