On Fri, 15 May 2020 at 20:43, Richard O'Keefe <rao...@gmail.com> wrote:

> Why does it make no sense?
> To a first approximation,
>  aCollection asWHATEVER
> =
>  WHATEVER withAll: aCollection
>
> Consider
>  'CAB' asSet
>  'CAB' asArray
>  'CAB' asSortedCollection
>  'CAB' asBag
> and so on.  They all mean "an instance of the class named
> in the selector with the elements of the receiver."
> Why should #asString be any different?
>

Good point.

There may be counter arguments (I've only considered this briefly)
but where possible it seems reasonable that the asXXXX selectors should be
able to round-trip.
i.e... 'abc' asByteArray asString ==> 'abc'
in which case... 'abc' asArray asString ==> '#($a $b $c)  seems wrong.
That result seems more suitable to #printString or #displayString,
particularly considering Richards next insight...


> Why on earth does #($a $b $c) asString make no sense
> when #($a $b $c) as: String
> -- which we expect to do the same thing -- DOES apparently
> make sense?
>

cheers -ben

Reply via email to