? function:

  • Can also be called as if

Return the second argument if the first argument is true. Return the third argument if the first is false. Return nothing if the first argument is not Boolean

Examples:

  • running: (? true, 12, 22) will give: 12

  • running: (? false, 12, 22) will give: 22

  • running: (? (array? .), #1, #2) for input: [1, 2, 3] will give: 2

  • running: (? (null? .), #1, #2) for input: [1, 2, 3] will give: 3

  • running: (? 100, true, false) will return nothing