Sujet : Re: Looping over array.
De : alicetrillianosako (at) *nospam* gmail.com (Schol-R-LEA)
Groupes : comp.lang.schemeDate : 05. Jul 2025, 15:44:26
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <d60f5dab-52fe-4950-b053-e716e5b1f685@gmail.com>
References : 1
User-Agent : Mozilla Thunderbird
B. Pym, I am confused. Is your goal to promote Scheme, or to mock the Scheme community by making us look petulant and spiteful? Because if your goal is the former, well, you are doing an excellent job of the latter.
B. Pym:
Christopher Browne wrote:
(loop with array = #(1 4 9 16 "Foo" "Bar" 'frobozz |Bogomatic|)
for i across array
for j from 0 by 1
do
(format t "Element ~D is ~A~%" j i))
Element 0 is 1
Element 1 is 4
Element 2 is 9
Element 3 is 16
Element 4 is Foo
Element 5 is Bar
Element 6 is 'FROBOZZ
Element 7 is Bogomatic
We can make it shorter by using a Lispy language instead of CL.
Gauche Scheme
(use srfi-43) ;; vector-for-each
(vector-for-each
(cut print "Element " <> " is " <>)
#(1 4 9 16 "Foo" "Bar" 'frobozz |Bogomatic|))
Element 0 is 1
Element 1 is 4
Element 2 is 9
Element 3 is 16
Element 4 is Foo
Element 5 is Bar
Element 6 is 'frobozz
Element 7 is Bogomatic
Another vector library.
(use scheme.vector)
(vector-for-each-with-index
(cut print "Element " <> " is " <>)
#(1 4 9 16 "Foo" "Bar" 'frobozz |Bogomatic|))