<br><br><div class="gmail_quote">On Mon, Feb 21, 2011 at 9:37 PM, Levente Uzonyi <span dir="ltr"><<a href="mailto:leves@elte.hu">leves@elte.hu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Mon, 21 Feb 2011, Eliot Miranda wrote:<br>
<br></div>
snip<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Actually, thinking a little, why not<br>
<br>
<br>
Collection >> join: delimiter<br>
<br>
^self species streamContents: [ :stream |<br>
self<br>
do: [ :each | each putOn: stream ]<br>
separatedBy: [ delimiter putOn: stream ] ]<br>
<br>
?<br>
</blockquote>
<br></div>
Because I'd like this:<br>
#('foo' 'bar' 'baz') join: $-<br>
to return this:<br>
'foo-bar-baz'<br>
rather than this:<br>
#($f $o $o $- $b $a $r $- $b $a $z).<br></blockquote><div><br></div><div>So then why not</div><div><br></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">SequenceableCollection >> join: delimiter<br>
<br> ^self isEmpty</span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "> ifTrue: [ self ]</span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "> ifFalse:</span></div>
<div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "> [ self first species streamContents:</span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "> [ :stream |<br>
self<br> do: [ :each | each putOn: stream ]<br> separatedBy: [ delimiter putOn: stream ] ] ]</span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "><br>
</span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">with first replaced by anyOne in Collection?</span></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Pharo's implementation dispatches on the class of the delimiter. That's fine, but requires multiple methods. Also I've never used #join: to create anything else but Strings.<br>
<br>
<br>
Levente<br>
<br>
snip<br>
<br>
</blockquote></div><br>