<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small">I was thinking about not responding because of all the flak I got last time I mentioned my methods that I use all the time.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">But for what they are worth.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Here are my methods explode and mergeDelimited:</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Collection >> explode: aDelimiter</div><div class="gmail_default"><span style="white-space:pre"> </span>"explode the collection into a collection of collections broken by aDelimiter"</div><div class="gmail_default"><span style="white-space:pre">      </span>"(#(#(1 2) #(3 4)) mergeDelimited: Character tab ) explode: Character tab = an OrderedCollection(#(1 2) #(3 4))</div><div class="gmail_default"><span style="white-space:pre">  </span>'abcdef' explode: 'cd' = an OrderedCollection('ab' 'ef')"</div><div class="gmail_default"><span style="white-space:pre">        </span>| resultCollection starting aDelimiterPosition aDelimiterSize |</div><div class="gmail_default"><span style="white-space:pre">       </span>self ifEmpty: [^self].</div><div class="gmail_default"><span style="white-space:pre">        </span>resultCollection := OrderedCollection new.</div><div class="gmail_default"><span style="white-space:pre">    </span>aDelimiterSize := aDelimiter isCollection ifTrue: [aDelimiter size] ifFalse: [1].</div><div class="gmail_default"><span style="white-space:pre">     </span>starting := 1.</div><div class="gmail_default"><span style="white-space:pre">        </span>[aDelimiterPosition := aDelimiter isCollection ifTrue: [self indexOfSubCollection: aDelimiter startingAt: starting] ifFalse: [self indexOf: aDelimiter startingAt: starting ifAbsent: [0]].</div><div class="gmail_default"><span style="white-space:pre">   </span>aDelimiterPosition > 0] whileTrue: [</div><div class="gmail_default"><span style="white-space:pre">               </span>resultCollection add: (self copyFrom: starting to: aDelimiterPosition - 1).</div><div class="gmail_default"><span style="white-space:pre">           </span>starting := aDelimiterPosition + aDelimiterSize.</div><div class="gmail_default"><span style="white-space:pre">      </span>].</div><div class="gmail_default"><span style="white-space:pre">    </span>resultCollection add: (self copyFrom: starting to: self size).</div><div class="gmail_default"><span style="white-space:pre">        </span>^resultCollection</div><div class="gmail_default"><br></div><div class="gmail_default">Collection >> mergeDelimited: anObject</div><div class="gmail_default"><span style="white-space:pre"> </span>"return to reciever a collection with each element concatenated to remove imbeded collections"</div><div class="gmail_default"><span style="white-space:pre">      </span>"#(#(1 2) #(3 4)) mergeDelimited: Character tab = #(1 2 Character tab 3 4),  #('ab' 'cd') mergeDelimited: Character cr = 'ab</div><div class="gmail_default">cd' "</div><div class="gmail_default"><span style="white-space:pre">   </span>| returnCollection aSeperator |</div><div class="gmail_default"><span style="white-space:pre">       </span>self ifEmpty: [^self].</div><div class="gmail_default"><span style="white-space:pre">        </span>aSeperator := anObject isCollection ifTrue: [anObject] ifFalse: [Array with: anObject].  </div><div class="gmail_default"><span style="white-space:pre">   </span>returnCollection := self first species new.</div><div class="gmail_default"><span style="white-space:pre">   </span>self copy from: 1 to: self size -1 do: [:a |</div><div class="gmail_default"><span style="white-space:pre">          </span>a ifNotNil: [</div><div class="gmail_default"><span style="white-space:pre">                 </span>returnCollection := returnCollection, a, aSeperator</div><div class="gmail_default"><span style="white-space:pre">           </span>].</div><div class="gmail_default"><span style="white-space:pre">    </span>].</div><div class="gmail_default"><span style="white-space:pre">    </span>^returnCollection, self last</div><div class="gmail_default"><br></div><div class="gmail_default">They are really great workhorses and work the way you would expect!</div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><p style="font-size:12.8px"><span style="color:rgb(31,73,125)">All the best,</span></p><p><b><font color="#4f81bd" face="Corbel, sans-serif"><span style="font-size:14pt">Ron Teitelbaum</span><span style="font-size:18.6667px"><br></span></font></b><i style="font-size:12.8px"><span style="font-size:9pt;color:rgb(31,73,125)">Chief Executive Officer<br></span></i><font color="#1f497d"><span style="font-size:9pt"><b>3D Immersive Collaboration Consulting, LLC</b></span><span style="font-weight:bold;font-size:12px"><br></span></font><span style="font-size:8pt"><a href="mailto:ron@3dicc.com" style="color:rgb(17,85,204);font-size:8pt" target="_blank">ron@3dicc.com</a></span><span style="font-size:8pt;color:blue"><br></span><span style="font-size:8pt;color:blue"><a href="http://www.3dicc.com/" style="font-size:8pt;color:rgb(17,85,204)" target="_blank">www.3dicc.com</a></span></p><p><a href="https://www.facebook.com/3DICC" target="_blank"><img src="https://www.3dicc.com/wp-content/uploads/2015/06/f-ogo_RGB_HEX-58-e1554385586279.png" alt=""></a> <a href="https://twitter.com/RonTeitelbaum" target="_blank"><img src="https://www.3dicc.com/wp-content/uploads/2015/06/Twitter_Logo_WhiteOnBlue-150x150-e1554385627982.png" alt=""></a> <a href="https://www.linkedin.com/in/ronteitelbaum" target="_blank"><img src="https://www.3dicc.com/wp-content/uploads/2015/06/In-2C-54px-R-e1554386073825.png"></a><br></p></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><br></div></div><img src="https://t.sidekickopen77.com/s1t/o/5/f18dQhb0S7kC8dDMPbW2n0x6l2B9gXrN7sKj6v46g14W56DHrH1p84BxW16gGCH615BQN101?si=8000000000764865&pi=fa90b1b0-ae3f-4c32-dfc3-1042f3eefb55&ti=null" style="display:none!important" height="1" width="1"></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, May 7, 2019 at 7:01 PM Hernan Wilkinson via Cuis-dev <<a href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Last Sunday I could not find it because I did not remember the name of the message!<br><div>I agree that #findTokens: is not a good name.</div><div>For compatibility with other smalltalks I would use #substrings: </div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 6, 2019 at 8:45 PM Gastón Caruso via Cuis-dev <<a href="mailto:cuis-dev@lists.cuis.st" target="_blank">cuis-dev@lists.cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi all, some minutes ago I’ve just asked in the telegram group about this method, I knew that Pharo had a method called String>>#substrings: character or something like that, with the same purpose.<br>
Ruby has a method called String>>#split: a_string (which I think is the best name).<br>
<br>
It don’t think the name intention revealing at all. If you agree I can rename that method with all the senders of the base image, but still there are some packages that uses this (like Network).<br>
<br>
What do you think? Do you agree that this name can be improved? Do you think that split is a better name? if not, what do you suggest?<br>
<br>
Thanks,<br>
Gastón<br>
-- <br>
Cuis-dev mailing list<br>
<a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_-1804870060159975749gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><span style="font-family:tahoma,sans-serif;font-size:xx-small;border-collapse:collapse"><strong><span style="font-size:8pt"><span><span style="font-size:small"><font size="2"><span style="font-weight:normal"><span style="font-weight:bold">Hernán Wilkinson</span><br>Agile Software Development, Teaching & Coaching</span></font></span></span></span></strong></span></div><div><span style="font-family:tahoma,sans-serif;font-size:xx-small;border-collapse:collapse"><strong><span style="font-size:8pt"><span><span style="font-size:small"><font size="2"><span style="font-weight:normal">Phone: +54-011</span></font></span></span></span></strong></span><font face="tahoma, sans-serif" size="2">-4893-2057</font></div><div><strong style="font-family:tahoma,sans-serif;font-size:xx-small"><span style="font-size:8pt"><span style="font-size:small"><font size="2"><span style="font-weight:normal">Twitter: @HernanWilkinson</span></font></span></span></strong></div><div><span style="font-family:tahoma,sans-serif;font-size:xx-small;border-collapse:collapse"><strong><span style="font-size:8pt"><span><span style="font-size:small"><font size="2"><span style="font-weight:normal">site: <a href="http://www.10pines.com/" style="color:rgb(17,65,112)" target="_blank">http://www.10Pines.com</a></span></font></span></span></span></strong></span></div><div><font face="tahoma, sans-serif"><span style="border-collapse:collapse">Address: Alem 896</span></font>, Floor 6, Buenos Aires, Argentina</div></div></div></div></div></div></div></div></div></div></div></div>
-- <br>
Cuis-dev mailing list<br>
<a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote></div></div>