13 lines
451 B
Elixir
13 lines
451 B
Elixir
defmodule StringSeries do
|
|
@doc """
|
|
Given a string `s` and a positive integer `size`, return all substrings
|
|
of that size. If `size` is greater than the length of `s`, or less than 1,
|
|
return an empty list.
|
|
"""
|
|
@spec slices(s :: String.t(), size :: integer) :: list(String.t())
|
|
def slices(s, size) do
|
|
length = String.length(s)
|
|
for start <- 0..(length - size), size in 1..length, into: [], do: String.slice(s, start, size)
|
|
end
|
|
end
|