It's bad advice in this case, but correctly indicates
there is a problem with your code. See below.
Hello,
I have this code :
��FindAndDeleteWordsWithForbiddenParts
"deletes all the words that contain forbidden parts"
| result |
result := words
select: [ :word |
[ (forbiddenWords reject: [ :forbidden | '*' , forbidden , '*' match: word ]) isNotEmpty ]
Constructing a pattern and pattern matching is a
heavy-handed approach to find out if a word contains a
substring.
I'm not familiar with Pharo's methods, but at the least
String inherits #indexOfSubCollection:startingAt: and
probably a number of others. There is also a good chance
String inherits or implements a more specific method that
will test for the presence of a sub-string.
A good piece of advice I once received is (paraphrased
as): Spend more time reading and less time writing. :-)
The deeper a class hierarchy, the greater the chance that
the exact thing you need has already been implemented in the
leaf class or its abstraction.
on: NotFound
do: [ false ] ].
^ result
but I see warnings that I have to use a stream instead of string concentation.
Anyone hints how to do so ?
Roelof