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}}== |