Suppose a function defined like this:
def composition(text : String, k : Int32) : Array(String)
kmers = Array(String).new
(0 .. text.size - k).each do |i|
kmers << text[i, k]
yield text[i, k]
end
return kmers
end
How do I check if the block argument is given inside the function? If the block argument is given, kmers will be yielded. If not given, kmers will be returned as an array of strings.