[squeak-dev] Xtreams question - OC of chars to String
Frank Shearar
frank.shearar at gmail.com
Sat Dec 29 20:46:31 UTC 2012
On 29 December 2012 17:30, Chris Cunnington
<smalltalktelevision at gmail.com> wrote:
> I have a question about converting an OrderedCollection full of chars into a
> string. [1]
>
> I would have thought there was a method like #asString that could be sent to
> an OrderedCollection to produce a string. I find myself having to do the
> process in three steps: 1) #reading the OC; 2) creating an empty string; and
> then, 3) iterating over every char to put it into the String.
>
> I think I'm missing a simpler way. Especially with Xtreams. Shouldn't I just
> use a filter, change the #contentSpecies, or something?
You're getting Characters, I guess, because you're reading one element
at a time [1]. There's nothing stopping you reading more than that:
('abc' reading read: 3) = 'abc'.
('abc reading rest) = 'abc'.
frank
[1] It's worth bearing in mind that Xtreams operate over streams of
arbitrary objects, not just characters.
> Chris
>
>
> [1]
>
> startTag: data
> <action: 'element'>
> |tagdata str |
> tagdata := data second first reading.
> str := (String new: 20) writing.
> tagdata do: [:each| str put: each].
> ^'html ' , (data first second first asString) , $: , $' , (str close;
> terminal) , $'
>
>
More information about the Squeak-dev
mailing list
|