Sha256: 532919299c309ec48bf1d96d2f2f9ab220c86c4e92d409849967cbf741b2bbbe
Contents?: true
Size: 668 Bytes
Versions: 396
Compression:
Stored size: 668 Bytes
Contents
package counter import "unicode" // Incorrect implementation: assumes ASCII. type Impl3 struct { newlines, characters, letters int lastChar rune } func (c *Impl3) AddString(s string) { for i := 0; i < len(s); i++ { char := rune(s[i]) c.lastChar = char if char == '\n' { c.newlines++ } else if unicode.IsLetter(char) { c.letters++ } c.characters++ } } func (c Impl3) Lines() int { switch { case c.characters == 0: return 0 case c.lastChar == '\n': return c.newlines default: return c.newlines + 1 } } func (c Impl3) Letters() int { return c.letters } func (c Impl3) Characters() int { return c.characters }
Version data entries
396 entries across 396 versions & 1 rubygems