need to write tests
This commit is contained in:
parent
c17e0df4da
commit
e3cf1d2121
@ -7,4 +7,24 @@ instructionCharConcat :: State -> State
|
|||||||
instructionCharConcat state@(State {_char = c1 : c2 : cs, _string = ss}) = state{_char = cs, _string = [c1, c2] : ss}
|
instructionCharConcat state@(State {_char = c1 : c2 : cs, _string = ss}) = state{_char = cs, _string = [c1, c2] : ss}
|
||||||
instructionCharConcat state = state
|
instructionCharConcat state = state
|
||||||
|
|
||||||
|
instructionCharFromFirstChar :: State -> State
|
||||||
|
instructionCharFromFirstChar state@(State {_char = cs, _string = s1 : ss}) =
|
||||||
|
if not $ null s1
|
||||||
|
then state {_char = head s1 : cs, _string = ss}
|
||||||
|
else state
|
||||||
|
instructionCharFromFirstChar state = state
|
||||||
|
|
||||||
|
instructionCharFromLastChar :: State -> State
|
||||||
|
instructionCharFromLastChar state@(State {_char = cs, _string = s1 : ss}) =
|
||||||
|
if not $ null s1
|
||||||
|
then state {_char = last s1 : cs, _string = ss}
|
||||||
|
else state
|
||||||
|
instructionCharFromLastChar state = state
|
||||||
|
|
||||||
|
instructionCharFromNthChar :: State -> State
|
||||||
|
instructionCharFromNthChar state@(State {_char = cs, _string = s1 : ss, _int = i1 : is}) =
|
||||||
|
let
|
||||||
|
index = abs i1 `mod` length s1
|
||||||
|
in
|
||||||
|
state{_char = s1 !! index : cs, _string = ss, _int = is}
|
||||||
|
instructionCharFromNthChar state = state
|
||||||
|
@ -79,3 +79,7 @@ instructionStringRemoveAllString state = state
|
|||||||
instructionStringOccurrencesOfString :: State -> State
|
instructionStringOccurrencesOfString :: State -> State
|
||||||
instructionStringOccurrencesOfString state@(State {_string = s1 : s2 : ss, _int = is}) = state{_string = ss, _int = amtOccurences s1 s2 : is}
|
instructionStringOccurrencesOfString state@(State {_string = s1 : s2 : ss, _int = is}) = state{_string = ss, _int = amtOccurences s1 s2 : is}
|
||||||
instructionStringOccurrencesOfString state = state
|
instructionStringOccurrencesOfString state = state
|
||||||
|
|
||||||
|
instructionStringInsertChar :: State -> State
|
||||||
|
instructionStringInsertChar state@(State {_string = s1 : ss, _char = c1 : cs, _int = i1 : is}) = state {_string = combineString [c1] (splitAt i1 s1) : ss, _char = cs, _int = is}
|
||||||
|
instructionStringInsertChar state = state
|
||||||
|
Loading…
x
Reference in New Issue
Block a user