James is of course right.
do: iterates over the values, if you want the whole associations, you use associationsDo:
At least I was right about keysAndValuesDo: ;-)
Joachim
myDict do: [:aValue | ]. ���An alias for #valuesDo:���
James Foster
On Jan 23, 2024, at 8:27���AM, Joachim Tuchel <jtuchel@objektfabrik.de> wrote:
AI knows little about Smalltalk ;-)
You can use do: with each Association as a parameter or you can use keysAndValuesDo:
myDic do: [:assoc| | key value| key := assoc key. value := assoc value. ...].myDic keysAndValuesDo: [:key :value| ...]
Joachim
Am 23.01.24 um 17:24 schrieb sergio ruiz:
I need to iterate over a dictionary.
I asked the AI buddy for a little help, and he says:
| myDictionary |
"Create a dictionary"myDictionary := Dictionary new.myDictionary at: 'one' put: 1.myDictionary at: 'two' put: 2.myDictionary at: 'three' put: 3.
"Iterate over the dictionary"myDictionary do: [ :key :value |�� �� Transcript show: key , ' -> ', value printString ; nl.].
but when i try this, I get:
ArgumentsCountMismatch: This block accepts 2 arguments, but was called with 1 argument.
Is the AI using a different dialect of smalltalk?
how would I go about acting on each pair?
Thanks!
----
peace,
sergio
photographer, journalist,��visionary
Public Key:��https://pgp.key-server.io/pks/lookup?op=get&search=0x69B08F58923AB3A2
#BitMessage BM-NBaswViL21xqgg9STRJjaJaUoyiNe2dV@sergio_101@mastodon.social
-- ----------------------------------------------------------------------- Objektfabrik Joachim Tuchel mailto:jtuchel@objektfabrik.de Fliederweg 1 http://www.objektfabrik.de D-71640 Ludwigsburg http://joachimtuchel.wordpress.com Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1
-- ----------------------------------------------------------------------- Objektfabrik Joachim Tuchel mailto:jtuchel@objektfabrik.de Fliederweg 1 http://www.objektfabrik.de D-71640 Ludwigsburg http://joachimtuchel.wordpress.com Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1