On Tue, 28 Apr 2020 at 01:08, Roelof Wobben via Pharo-users <
pharo-users@lists.pharo.org> wrote:

> Op 27-4-2020 om 19:05 schreef Richard Sargent:
>
> On Mon, Apr 27, 2020 at 9:27 AM Roelof Wobben via Pharo-users <
> pharo-users@lists.pharo.org> wrote:
>
>> Hello,
>>
>> I wonder if it is possible in Pharo to divide a string in lets say part
>> of 3.
>> so this :  'abcdefgh'
>>
>> would be  'abc def gh`
>>
>
> Do you really want a single string with spaces inserted or do you want a
> collection of substrings, each three characters (or less, for the last one)?
>
>
> I need a single string with spaces inserted.
> So maybe I have formulate my question wrong. Very difficult if English is
> not your mother language and you were bad at school in languages a very
> very long ago.
>

I didn't previously know of a method to do this, but I "guessed" what you
needed might be related to "grouping", so I did...
    'abcd' inspect.
then in the Meta tab, starting at Collection, filtered on....
     group*
and worked up the hierarchy discovering #groupsOf:atATimeDo: in
SequenceableCollection,
which guesswork found could work like this...
```
input := 'abcdefghijk'.
stream := String streamContents: [:s | input groupsOf: 3 atATimeDo: [
:group | s nextPutAll: group; nextPutAll: ' ']].
stream contents inspect.
```

One of the skills a new programmer needs to develop is to make those
educated "guesses"
and know where/how to test them.

So I learnt a new method today. thx.
cheers -ben

Reply via email to