Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function get_patterns(...)
- local params = {...}
- local occurrences = type(params[5]) == "table" and params[4] or {}
- -- get_patterns(str[, min_length = 1[, max_length = 1]])
- local str = type(params[1]) == "string" and params[1] or error("String expected, got ".. type(params[1]))
- local min_length = type(params[2]) == "number" and params[2] or 1
- local max_length = type(params[3]) == "number" and params[3] or min_length
- for len = min_length, max_length do
- for init = 1, #str - len do
- local tmp = string.sub(str, init, init + len - 1)
- occurrences[tmp] = occurrences[tmp] and ( occurrences[tmp] + 1 ) or 1
- end
- end
- return occurrences
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement