Loops/Nested: Difference between revisions

Content added Content deleted
(→‎Go: Added)
(+Icon+Unicon)
Line 363: Line 363:


99 END</lang>
99 END</lang>

== Icon and Unicon ==
Icon and Unicon use 'break' to exit loops and execute an expression argument. To exit nested loops 'break' is repeated as the expression.

==={{header|Icon}}===
<lang Icon>procedure main()

every !(!(L := list(10)) := list(10)) := ?20 # setup a 2d array of random numbers up to 20

every i := 1 to *L do # using nested loops
every j := 1 to *L[i] do
if L[i,j] = 20 then
break break write("L[",i,",",j,"]=20")

end</lang>


<lang Icon>every x := L[i := 1 to *L,1 to *L[i]] do
if x = 20 then break write("L[",i,",",j,"]=20") # more succinctly

every if !!L = 20 then break write("Found !!L=20") # even more so (but looses the values of i and j</lang>
==={{header|Unicon}}===
The Icon solution works in Unicon.


=={{header|J}}==
=={{header|J}}==