pub fn if_else<A, B, P, T, F>(predicate: P, if_true: T, if_false: F, x: A) -> B
Expand description
This function allows for conditionals in composition chains. Unlike converge, which branches
and merges, if_else
chooses which function to run based on the predicate, and the other
function is ignored.
ยงExample
use rust2fun::prelude::*;
let is_even = |x: &i32| x & 1 == 0;
let actual = if_else(is_even, |x| x / 2, |x| (x + 1) / 2, 7);
assert_eq!(4, actual);