Skip to main content

seq

The seq library contains functions that are used for manipulating sequenced data structures including string and array.

//seq.concat(seqs <: array) <: array
//seq.concat(seqs <: string) <: string#

concat takes an array of sequences seqs and returns a sequence that is the concatenation of the sequences in the array.

Usage:

exampleequals
//seq.concat(["ba", "na", "na"])"banana"
//seq.concat([[1, 2], [3, 4, 5]])[1, 2, 3, 4, 5]

//seq.contains(sub <: array, subject <: array) <: bool
//seq.contains(sub <: string, subject <: string) <: bool#

contains checks whether sequence sub is contained in sequence subject and returns true if it is, or false otherwise.

Usage:

exampleequals
//seq.contains("substring", "the full string which has substring")true
//seq.contains("microwave", "just some random sentence")false
//seq.contains([1,2,3,4,5], [1,2,3,4,5])true
//seq.contains([['B','C']],[['A', 'B'], ['B','C'],['D','E']])true

//seq.has_prefix(prefix <: array, subject <: array) <: bool
//seq.has_prefix(prefix <: string, subject <: string) <: bool
//seq.has_prefix(prefix <: bytes, subject <: bytes) <: bool#

has_prefix checks whether the sequence subject is prefixed by sequence prefix and returns true if it is, or false otherwise.

Usage:

exampleequals
//seq.has_prefix("I'm", "I'm running out of stuff to write")true
//seq.has_prefix("to write", "I'm running out of stuff to write")false
//seq.trim_prefix(<<'dive'>>, <<"divesting">>)true
//seq.has_prefix(['A'],['A','B','C'])true
//seq.has_prefix([1, 2],[1, 2, 3])true
//seq.has_prefix([[1, 2]],[[1, 2], [3]])true

//seq.has_suffix(suffix <: array, subject <: array) <: bool
//seq.has_suffix(suffix <: string, subject <: string) <: bool
//seq.has_suffix(suffix <: bytes, subject <: bytes) <: bool#

has_suffix checks whether the sequence subject is suffixed by sequence suffix and returns true if it is, or false otherwise.

Usage:

exampleequals
//seq.has_suffix("I'm", "I'm running out of stuff to write")false
//seq.has_suffix("to write", "I'm running out of stuff to write")true
//seq.has_suffix(<<'ary'>>, <<'binary'>>)true
//seq.has_suffix(['E'],['A','B','C','D','E'])true
//seq.has_suffix([[3, 4]],[[1 ,2], [3, 4]])true

//seq.join(joiner <: array, subject <: array) <: array
//seq.join(joiner <: string, subject <: array_of_string) <: string#

join returns a concatenated sequence with each member of sequence subject delimited by sequence joiner

Usage:

exampleequals
//seq.join(", ", ["pew", "another pew", "and more pews"])"pew, another pew, and more pews"
//seq.join(" ", ["this", "is", "a", "sentence"])"this is a sentence"
//seq.join(["", "this", "is", "a", "sentence"])"thisisasentence"
//seq.join([0], [[1, 2], [3, 4], [5, 6]][1, 2, 0, 3, 4, 0, 5, 6]
//seq.join([0], [[2, [3, 4]], [5, 6]])[2, [3, 4], 0, 5, 6]
//seq.join([[0],[1]], [[[1, 2], [3, 4]],[[5, 6],[7, 8]]])[[1, 2], [3, 4], [0], [1], [5, 6], [7, 8]]

//seq.split(delimiter <: array, subject <: array) <: array
//seq.split(delimiter <: string, subject <: string) <: array of string#

split splits sequence subject based on the provided sequence delimiter. It returns an array of sequence which are split from the sequence subject.

Usage:

exampleequals
//seq.split(" ", "deliberately adding spaces to demonstrate the split function")["deliberately", "adding", "spaces", "to", "demonstrate", "the", "split", "function"]
//seq.split("random stuff", "this is just a random sentence")["this is just a random sentence"]
//seq.split([1],[1, 2, 3])[[],[2,3]]
//seq.split([3],[1, 2, 3])[[1,2],[]]
//seq.split(['A'],['B', 'A', 'C', 'A', 'D', 'E'])[['B'],['C'], ['D', 'E']]
//seq.split([['C','D'],['E','F']],[['A','B'], ['C','D'], ['E','F'], ['G']]))[[['A','B']], [['G']]]

//seq.sub(old <: array, new <: array, subject <: array) <: array
//seq.sub(old <: string, new <: string, subject <: string) <: string#

sub replaces occurrences of sequence old in sequence subject with sequence new. It returns the modified sequence.

Usage:

exampleequals
//seq.sub("old string", "new sentence", "this is the old string")"this is the new sentence"
//seq.sub("string", "stuff", "just another sentence")"just another sentence"
//seq.sub([1], [2], [1, 2, 3])[2, 2, 3]
//seq.sub([[2,2]], [[4,4]], [[1,1], [2,2], [3,3]])[[1,1], [4,4], [3,3]]

//seq.repeat(n <: number, seq <: array) <: array
//seq.repeat(n <: number, seq <: string) <: string#

repeat returns a sequence that contains seq repeated n times.

Usage:

exampleequals
//seq.repeat(2, "hots")"hotshots"

//seq.trim_prefix(prefix <: array, subject <: array) <: array
//seq.trim_prefix(prefix <: string, subject <: string) <: string
//seq.trim_prefix(prefix <: bytes, subject <: bytes) <: bytes#

trim_prefix checks whether the sequence subject is prefixed by sequence prefix and returns subject with prefix removed, otherwise it returns subject unmodified. It will only remove one copy of prefix.

Usage:

exampleequals
//seq.trim_prefix("I'm", "I'm running out of stuff to write")" running out of stuff to write"
//seq.trim_prefix("to write", "I'm running out of stuff to write")"I'm running out of stuff to write"
//seq.trim_prefix(<<'dive'>>, <<"divesting">>)<<'sting'>>
//seq.trim_prefix(['A'],['A','B','C'])['B','C']
//seq.trim_prefix([1, 2],[1, 2, 3])[3]
//seq.trim_prefix([[1, 2]],[[1, 2], [3]])[[3]]

//seq.trim_suffix(suffix <: array, subject <: array) <: array
//seq.trim_suffix(suffix <: string, subject <: string) <: string
//seq.trim_suffix(suffix <: bytes, subject <: bytes) <: bytes#

trim_suffix checks whether the sequence subject is suffixed by sequence suffix and returns subject with suffix removed, otherwise it returns subject unmodified. It will only remove one copy of suffix.

Usage:

exampleequals
//seq.trim_suffix("I'm", "I'm running out of stuff to write")"I'm running out of stuff to write"
//seq.trim_suffix("to write", "I'm running out of stuff to write")"I'm running out of stuff "
//seq.trim_suffix(<<'ary'>>, <<'binary'>>)<<'bin'>>
//seq.trim_suffix(['E'],['A','B','C','D','E'])['A','B','C','D']
//seq.trim_suffix([[3, 4]],[[1 ,2], [3, 4]])[[1 ,2]]