[squeak-dev] The Inbox: Collections-ct.858.mcz

Chris Muller ma.chris.m at gmail.com
Wed Oct 16 02:47:54 UTC 2019


On Tue, Oct 15, 2019 at 1:42 AM Marcel Taeumel <marcel.taeumel at hpi.de>
wrote:

> Hmm... given that I always remember #withFirstCharacterDownshifted but
> not #capitalized ... I think there might be something missing here. :-)
>
> Yes, if we would add #withFirstCharacterUpshifted, it should just call
> #capitalized directly.
>
> Well, looking at Wikipedia (https://en.wikipedia.org/wiki/Capitalization),
> I wonder why
>
> 'hello world' capitalized
>
> does not yield
>
> 'Hello World'
>
> but only
>
> 'Hello world'
>
> ... because it says "...writing a word with its first letter
> <https://en.wikipedia.org/wiki/Letter_(alphabet)> as a capital letter..."
> so 'hello world' has two words in it.
>
> So, #withFirstCharacterDownshifted refers to the string full of
> characters. #capitalized actually should refer to words.
>

I was talking about nomenclature, not implementation.


>
> Anyway, I think that #withFirstCharacterUpshifted cannot hurt. :-)
>

It hurts by overloading the API with an unnecessary synonym.  We already
have the words "upperCase" and "lowerCase" and "capitalized".  Please,
don't introduce "Shifted" too, it's not mentioned anywhere on that
Wikipedia page, and not even Google has a definition for "Upshifted", only
"Upshift" -- and it refers to the automotive context I mentioned.

If you feel strongly this belongs in trunk (I don't), then may we at least
call it #withFirstCharacterCapitalized?

Best,
  Chris



>
> +0.5
>
> Best,
> Marcel
>
> Am 14.10.2019 22:37:25 schrieb Chris Muller <asqueaker at gmail.com>:
> -1.
>
> Using the Method Finder, enter
>
>      'hello'.  'Hello'
>
> to see we already have #capitalized to do that.
>
> Before introducing new API, always research existing nomenclature's.
> Uncapitalization is not a common use-case, but if you want to introduce it
> into Squeak, I'd suggest #uncapitalized instead of two new methods named
> "Upshifted" and "Downshifted".  Those words describe the "procedure for
> obtaining a capital letter from a keyboard" (except "Downshifted," which
> only describes a car with a manual transmission, ready to burn rubber  :)
> ).  By contrast, the #capitalized API describes the nature of the object
> itself.
>
> Best,
>   Chris
>
>
> On Sun, Oct 13, 2019 at 3:34 PM <commits at source.squeak.org> wrote:
>
>> A new version of Collections was added to project The Inbox:
>> http://source.squeak.org/inbox/Collections-ct.858.mcz
>>
>> ==================== Summary ====================
>>
>> Name: Collections-ct.858
>> Author: ct
>> Time: 13 October 2019, 10:33:55.310932 pm
>> UUID: 80a9daa4-d11d-554c-8530-f4d5a1a70c8f
>> Ancestors: Collections-pre.857
>>
>> Adds #withFirstCharacterUpshifted analogously to
>> #withFirstCharacterDownshifted
>>
>> =============== Diff against Collections-pre.857 ===============
>>
>> Item was changed:
>>   ----- Method: String>>withFirstCharacterDownshifted (in category
>> 'converting') -----
>>   withFirstCharacterDownshifted
>> -       "Return a copy with the first letter downShifted"
>>
>>         | answer |
>> -
>>         self ifEmpty: [^ self copy].
>>         answer := self copy.
>>         answer at: 1 put: (answer at: 1) asLowercase.
>> +       ^ answer!
>> -       ^ answer. !
>>
>> Item was added:
>> + ----- Method: String>>withFirstCharacterUpshifted (in category
>> 'converting') -----
>> + withFirstCharacterUpshifted
>> +
>> +       | answer |
>> +       self ifEmpty: [^ self copy].
>> +       answer := self copy.
>> +       answer at: 1 put: (answer at: 1) asUppercase.
>> +       ^ answer!
>>
>> Item was changed:
>>   ----- Method: Symbol>>withFirstCharacterDownshifted (in category
>> 'converting') -----
>>   withFirstCharacterDownshifted
>> +       "Answer an object like the receiver but with first character
>> downshifted if necessary"
>> -       "Answer an object like the receiver but with first character
>> downshifted if necesary"
>>
>> +       ^self asString withFirstCharacterDownshifted asSymbol!
>> -       ^self asString withFirstCharacterDownshifted asSymbol.!
>>
>> Item was added:
>> + ----- Method: Symbol>>withFirstCharacterUpshifted (in category
>> 'converting') -----
>> + withFirstCharacterUpshifted
>> +       "Answer an object like the receiver but with first character
>> upshifted if necessary"
>> +
>> +       ^self asString withFirstCharacterUpshifted asSymbol!
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20191015/a5bbe8d0/attachment.html>


More information about the Squeak-dev mailing list