That's why I like Erlang, it allows for multiple function heads and pattern matching. So these kind of tables are very easy to represent without too much noise:
f(t, t, t) -> 1;
f(t, t, f) -> 3;
f(t, f, t) -> 7;
f(t, f, f) -> "cucumber";
f(f, _, _) -> null.
Pretty close to the table, no?The other example:
fizzbuzz(N) ->
case {N rem 3, N rem 5} of
{0, 0} -> "FizzBuzz";
{0, _} -> "Fizz";
{_, 0} -> "Buzz";
{_, _} -> N
end.
Here I used a case statement, but it also matches the shape pretty well.That's valid code, not pseudocode, you can compile it in a module an run it.
Notice how multiple function clauses separated by ; allow much nicer code patches. If a function wasn't working well, instead of adding an if statement inside, you can add another function clause instead.