From 561e35ee045804566e9179e758dab8cedf50a337 Mon Sep 17 00:00:00 2001 From: ayyansea Date: Sat, 16 Nov 2024 20:05:53 +0300 Subject: feat: added Token and LinkedTokenList --- cmd/uptfs.go | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) (limited to 'cmd/uptfs.go') diff --git a/cmd/uptfs.go b/cmd/uptfs.go index 1bba4c4..531b102 100644 --- a/cmd/uptfs.go +++ b/cmd/uptfs.go @@ -24,28 +24,25 @@ func Run() { tokens := strings.Split(inputString, " ") tokens = formatInput(tokens, additionalDelimeters) - lowercaseFilter := NewLowercaseFilterWithExtraSteps() - lowercaseFilter.Greet() - - var newTokens []string - for _, token := range tokens { - newTokens = append(newTokens, lowercaseFilter.Filter(token)) + if len(tokens) == 0 { + err := errors.New("the slice is empty") + fmt.Printf("%v\n", err) + os.Exit(1) } - tokens = newTokens + var linkedTokens LinkedTokenList + SliceToLinkedTokenSlice(tokens, &linkedTokens) + lowercaseFilter := NewLowercaseFilterWithExtraSteps() uppercaseFilter := NewUppercaseFilter() - uppercaseFilter.Greet() - newTokens = nil - for _, token := range tokens { - newTokens = append(newTokens, uppercaseFilter.Filter(token)) + for current := linkedTokens.head; current != nil; current = current.GetNextToken() { + current.content = lowercaseFilter.Filter(current.content) + current.content = uppercaseFilter.Filter(current.content) } - result := strings.Join(newTokens, " ") - - fmt.Println("") - fmt.Println(result) + fmt.Println("Head: ", linkedTokens.head.content) + fmt.Println("Tail: ", linkedTokens.tail.content) } func formatInput(tokenArray []string, delimeterArray []string) []string { -- cgit v1.2.3