[squeak-dev] generators
Rolandas Guobys
rolandasguobys at gmail.com
Fri Jul 9 16:44:33 UTC 2021
please don't send me more letters !!!
> On 2020-06-23, at 23:39, Tobias Pape <Das.Linux at gmx.de> wrote:
>
>
>> On 23.06.2020, at 20:28, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> wrote:
>>
>> +1 nice!
>
> yeah, nice addition!
> I'd suggest to keep #yield: around, tho.
> I think it is kind-of tied to the Generator idea (viz. Python, JavaScript, C#)..
>
> Best regards
> -Tobias
>
>>
>> Le mar. 23 juin 2020 à 20:23, Eliot Miranda <eliot.miranda at gmail.com> a écrit :
>> Hi All,
>>
>> I juts had occasion to use generators in anger for the first time. I was trying to fnd out why a clone of a prse tree was reporting that it was not the same tree. Generators made enumerating all nodes in each tree together trivial:
>>
>> | them |
>> them := Generator on: [:g| newTree nodesDo: [:n| g yield: n]].
>> parseTree nodesDo:
>> [:n| | twin |
>> twin := them next.
>> (n isSameAs: twin) ifFalse:
>> [self halt]]
>>
>> My message though comes from noticing that generators yield their values via next, so why not use nextPut: instead of yield: ?
>>
>> e.g. I think this is better:
>>
>> | them |
>> them := Generator on: [:g| newTree nodesDo: [:n| g nextPut: n]].
>> parseTree nodesDo:
>> [:n| | twin |
>> twin := them next.
>> (n isSameAs: twin) ifFalse:
>> [self halt]]
>>
>> _,,,^..^,,,_
>> best, Eliot
>>
>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210709/38ffa167/attachment.html>
More information about the Squeak-dev
mailing list
|