The keep
function in Clojure invokes a function on each item in a collection and only returns non-nil results from the function invocation. The result of the keep
function is a lazy sequence.
The following example uses the keep
function, but also show what results would be when using map
function on the same collection with the same function argument:
Continue reading →
In Clojure we can use the rand-nth
function to get a single random element from a sequence. To get multiple items based on random probability for each item we use the function random-sample
. We must set the probability that determines for each item if it is in the result or not.
In the following example code we use rand-nth
function:
Continue reading →
We can use the flatten
function when we have a collection with nested sequential collections as elements and create a new sequence with the elements from all nested collections.
In the following example we use the flatten
function:
Continue reading →
In the clojure.set
namespace we can find the intersection
function. This functions accepts one or more sets as arguments and return a new set with all elements that are present in the sets that are passed as arguments to the intersection
function. The argument must be a set, so we need to convert other collection or seq values to a set first before we use it as an argument for the function.
In the following example we use one, two or three arguments for the intersection
function and also convert other types to a set to be used as argument:
Continue reading →
We can use the join
function from the clojure.string
namespace to join elements from a collection into a string. We can optionally specify a separator that is used to separate each element in the string output. The separator is not used after the last element of the collection. If we don’t specify a separator the elements are concatenated without separation. The string representation for each element in the collection is used in the joined end result.
In the following example code we see different usages of the join
function:
Continue reading →