100 doors: Difference between revisions

Line 6,417:
writeln wherekeys .doors</lang>
 
It's not necessary for this exercise, but weWe could also use a for loop value, as in the following example.
{{works with|langur|0.8.1}}
<lang langur>varwriteln for[=[]] .i of .doors ={ arrif(.doors[.i]: 100,_for ~= [.i]) false}</lang>
 
Or, we could use the foldfrom() function.
for .i of .doors {
<lang langur>writeln foldfrom(f for if(.j =b: .ia~[.c]; .ja), <=[], len(.doors);, .j +=series 1.i.len {.doors)</lang>
.doors[.j] = not .doors[.j]
}
}
 
writeln for[=[]] .i of .doors { if(.doors[.i]: _for ~= [.i]) }</lang>
 
=== optimized ===
1,007

edits