Thank you @josevalim and @gregvaughn!
I took a bit of everyone’s suggestions and ended up with this helper function which I think strikes the best balance for me; I’m not manipulating large lists on this occasion, so I opted for appending rather than prepending for convenience:
def cond_append(list, false, _), do: list
def cond_append(list, true, fun) do
list ++ [fun.()]
end
def cond_append(list, bool_fun, value_fun) do
if bool_fun.(), do: list ++ [value_fun.()], else: list
end
I do have complex bool logic sometimes, hence the extra version accepting list, fun, fun.
Thanks everyone ![]()


















