Files
30-seconds-of-code/snippets/when.md
Angelos Chalaris e38176767b Add when
2020-01-02 20:25:45 +02:00

470 B

title, tags
title tags
when function,intermediate

Tests a value, x, against a predicate function, conditionally applying a function.

Check if the value of predicate(x) is True and if so return when_true(x), otherwise return x.

def when(predicate, when_true):
  return lambda x: when_true(x) if predicate(x) else x
double_even_numbers = when(lambda x: x % 2 == 0, lambda x : x * 2)
double_even_numbers(2) # 4
double_even_numbers(1) # 1