I think the name destructDo: comes from destructuring assignment.��_______________________________________________https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignmentNorbertAm 28.03.2020 um 14:15 schrieb Mark Plas <mark.plas@mediagenix.tv>:_______________________________________________Hello Christian,��"��I don���t really like the name,"��Maybe you could call it #tupleDo:?�������������������������������� #(1 2 3) tupleDo: [:a :b :c | ���]��Mark��
��
Mark Plas
Software Engineer T +32 2 467 34 30 ��
<logomgxnew_3d44337b-2535-4d6a-9f5f-3fdd565513ca.png> Nieuwe Gentsesteenweg 21/1 ��<linkedin_75b9c4f1-6a2b-497c-aab8-df56fe16b8e3.png>��<twitter_de4c3300-c6ab-4898-a962-b33ff662a322.png><Facebook-icon_6bef7545-f54e-4548-bfc4-1f07407f2642.png>www.mediagenix.tv
Directions to MEDIAGENIX ��
This e-mail and any files attached to it are confidential and intended only for the use of the individuals or entity to whom they are addressed. If you have received this e-mail in error, please notify the sender immediately.
From:��Esug-list <esug-list-bounces@lists.esug.org>��On Behalf Of��Christian Haider
Sent:��zaterdag 28 maart 2020 13:43
To:��vwnc@cs.uiuc.edu;��esug-list@lists.esug.org;��amber-lang@googlegroups.com
Subject:��[Esug-list] destructDo:��Hi,��I am using a nice little method #destructDo: for a while now and it feels good.In VisualWorks:SequenceableCollection>>destructDo: aBlock������������������������������ ������������������������������ "Evaluate aBlock with the receiver's elements as parameters.������������������������������ ������������������������������ aBlock takes its arguments from the receiver.������������������������������ ������������������������������ 'ok'������������������������������ ������������������������������ #(1 2 3) destructDo: [:a :b :c | a + b + c]������������������������������ ������������������������������ #(1 2 3) destructDo: [:a :b | a + b]������������������������������ ������������������������������ #(1 2 3) destructDo: [:a | a]������������������������������ ������������������������������ #(1 2 3) destructDo: [42]������������������������������ ������������������������������ 'not ok'������������������������������ ������������������������������ #(1 2 3) destructDo: [:a :b :c :d | a + b + c + d]������������������������������ ��������������������������������"������������������������������ ������������������������������ ^aBlock cullWithArguments: self asArray��In Amber:��SequenceableCollection>>destructDo: aBlock������������������������������ ������������������������������ ^aBlock valueWithPossibleArguments: self��In Pharo and other dialects, I don���t know, but should be as easy.��For example you can do������������������������������ (('2020-03-28' tokensBasedOn: $-) collect: #asNumber) destructDo: [:year :month :day |������������������������������������������������������������ Date newDay: day monthNumber: month year: year]��I like that the block is not the receiver (like with #valueWithArguments or #cullWithArguments), but the last argument.��Now the questions:
- I am sure that others came up with this. Anybody knows?
- What are you using for this pattern?
- I don���t really like the name, but haven���t found anything better yet. Maybe #destructedDo: or just #destructed: or: #withPartsDo:��� maybe something shorter? Ideas?
- What are you thinking about this?
��Happy hacking,������������������������������ Christian��
Esug-list mailing list
Esug-list@lists.esug.org
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Esug-list mailing list
Esug-list@lists.esug.org
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org