On Wed, Mar 15, 2017 at 6:33 PM, Torsten Bergmann <astares@gmx.de> wrote:
According to https://en.wikipedia.org/wiki/Capitalization
to "capitalize" is writing a word with its first letter as a capital letter (upper-case letter) AND THE REMAINING LETTERS IN LOWER CASE writing systems.
So
'SOMETHING' capitalized
currently returns "SOMETHING" in Pharo but should return "Something" according to the definition to end up with lowercase.
I think it would be reasonable to expect... self assert: 'something' capitalized equals: 'SOMETHING' capitalized In ignorance of history, I'd call this a bug. Maybe not for "frozen" Pharo 6, but not needing a deprecation, just a fix. cheers -ben
If we fix this I guess we would also align Pharo with other languages, like C# for example [1].
Could be easily changed by replacing "copy" with "asLowercase" in #capitalized:
capitalized "Return a copy with the first letter capitalized" | cap | self isEmpty ifTrue: [ ^self copy ]. cap := self asLowercase. cap at: 1 put: (cap at: 1) asUppercase. ^ cap
Should we fix this? Do not know about any side effects...
Note: a) Squeak has the same issue b) it fits for #uncapitalized, see [2] c) Dont know about ANSI standard or any other ST dialect
Thx T.
[1] https://github.com/srkirkland/Inflector/blob/master/Inflector.Tests/ CapitalizeTests.cs [2] https://github.com/srkirkland/Inflector/blob/master/Inflector.Tests/ UncapitalizeTests.cs