"TestResults.txt" Tested on: 2019-05-17 12:16 9 run, 9 passes, 0 skipped, 0 failures, 0 errors "Acronym.class.st" " This solution shows the use of Stream processing. " Class { #name : #Acronym, #superclass : #Object, #category : #'Exercise@Acronym' } { #category : #exercism } Acronym >> abbreviatePhrase: aString [ | words | words := aString splitOn: [ :char | (char isAlphaNumeric or: [ char = $' ]) not]. ^ String streamContents: [ :stream | words reject: [ :word | word isEmpty ] thenDo: [ :word | stream nextPut: word first uppercase ] ] ]