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
|
||||
|
||||
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 {_string = s1 : s2 : ss, _int = is}) = state{_string = ss, _int = amtOccurences s1 s2 : is}
|
||||
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