Control structure
Revision as of 11:15, 19 July 2020 by Adám Brudzewsky (talk | contribs)
Some modern versions of APL include a set of keywords for controlling flow of execution. Such keywords allow programmers to create control structures which are commonly used in procedural programming languages.
Example
Dyalog APL has a rich set of flow control keywords, including :If
, :While
, :Repeat
, :For
(with the supplementary control words :In
and :InEach
), :Select
, :With
, :Trap
, :Hold
and :Disposable
. The use of control structures defined by these keywords is only allowed in defined functions.
For example, a function implementing the Trabb Pardo–Knuth algorithm using control structures:
∇ {res}←trabb;f;S;i;a;y f←{(0.5*⍨|⍵)+5×⍵*3} S←,⍎{⍞←⍵ ⋄ (≢⍵)↓⍞}'Please, enter 11 numbers: ' :For i a :InEach (⌽⍳≢S)(⌽S) :If 400<y←f(a) ⎕←'Too large: ',⍕i :Else ⎕←i,y :EndIf :EndFor ∇
External links
Tutorials
- APL Cultivation: Control structures
- Bernard Legrand. Mastering Dyalog APL (page 189). Dyalog Ltd. November 2009.