rslt ← (func ##.while cond) argt ⍝ Conditional function power. Left operand [func] is applied cumulatively to argument [argt] while right operand [cond] returns "true". Notice that, in common with the :While ··· :End control structure, if (cond argt) is initially false, [func] is applied 0 times. Compare this with the →until← operator. Examples: ,∘'.' while (80>⍴) 'Note' ⍝ Extend while less than 80 wide. Note............................................................................ ↓ while {1<⍴⍴⍵} 2 2 2 2⍴⍳16 ⍝ Split while high rank. ┌─────────────────────┬────────────────────────────┐ │┌─────────┬─────────┐│┌────────────┬─────────────┐│ ││┌───┬───┐│┌───┬───┐│││┌────┬─────┐│┌─────┬─────┐││ │││1 2│3 4│││5 6│7 8│││││9 10│11 12│││13 14│15 16│││ ││└───┴───┘│└───┴───┘│││└────┴─────┘│└─────┴─────┘││ │└─────────┴─────────┘│└────────────┴─────────────┘│ └─────────────────────┴────────────────────────────┘ {⍵+1} while {0} 0 ⍝ {⍵+1} applied 0 times. 0 See also: cond until limit pow traj acc Back to: contents Back to: Workspaces