Avatar
func when<T>(condition: @autoclosure () -> Bool, then trueBranch: () -> T, `else` falseBranch: () -> T) -> T { if condition() { return trueBranch() } else { return falseBranch() } } let a = when (2 < 3) { 3 } else { 4 }