Sha256: bcba72943a82a90ee3f8f440e4245d2afa7f513fded19831991b2e5573cc1e92

Contents?: true

Size: 645 Bytes

Versions: 217

Compression:

Stored size: 645 Bytes

Contents

package wordcount

import (
	"regexp"
	"strings"
)

const testVersion = 3

// Frequency is a map of the frequency of occurrence keyed to the unique word.
type Frequency map[string]int

// WordCount returns the map of frequency of words based on the input phrase.
func WordCount(phrase string) Frequency {
	freq := Frequency{}
	for _, word := range strings.Fields(normalize(phrase)) {
		word = strings.Trim(word, "'")
		freq[word]++
	}
	return freq
}

func normalize(phrase string) string {
	//  Allow for apostrophes in words.
	r, _ := regexp.Compile(`[^\w|']`)
	phrase = strings.ToLower(phrase)
	return r.ReplaceAllLiteralString(phrase, " ")
}

Version data entries

217 entries across 217 versions & 1 rubygems

Version Path
trackler-2.2.1.56 tracks/go/exercises/word-count/example.go
trackler-2.2.1.55 tracks/go/exercises/word-count/example.go
trackler-2.2.1.54 tracks/go/exercises/word-count/example.go
trackler-2.2.1.53 tracks/go/exercises/word-count/example.go
trackler-2.2.1.52 tracks/go/exercises/word-count/example.go
trackler-2.2.1.51 tracks/go/exercises/word-count/example.go
trackler-2.2.1.50 tracks/go/exercises/word-count/example.go
trackler-2.2.1.49 tracks/go/exercises/word-count/example.go
trackler-2.2.1.48 tracks/go/exercises/word-count/example.go
trackler-2.2.1.47 tracks/go/exercises/word-count/example.go
trackler-2.2.1.46 tracks/go/exercises/word-count/example.go
trackler-2.2.1.45 tracks/go/exercises/word-count/example.go
trackler-2.2.1.44 tracks/go/exercises/word-count/example.go
trackler-2.2.1.43 tracks/go/exercises/word-count/example.go
trackler-2.2.1.42 tracks/go/exercises/word-count/example.go
trackler-2.2.1.41 tracks/go/exercises/word-count/example.go
trackler-2.2.1.40 tracks/go/exercises/word-count/example.go
trackler-2.2.1.39 tracks/go/exercises/word-count/example.go
trackler-2.2.1.38 tracks/go/exercises/word-count/example.go
trackler-2.2.1.37 tracks/go/exercises/word-count/example.go