⍝ Generalised iota ⎕io←1 ⍝ index origin. iotag 5 ⍝ Positive Integer 1 2 3 4 5 iotag ¯3 ⍝ Negative Integer ¯1 ¯2 ¯3 iotag 'D' ⍝ Uppercase Character ABCD iotag 'g' ⍝ Lowercase Character abcdefg iotag 'Ò' ⍝ Underscore Character ÁÂÃÇÈÊËÌÍÎÏÐÒ iotag '7' ⍝ Digit 01234567 iotag 'Z' ⍝ Equivalent to ⎕A ABCDEFGHIJKLMNOPQRSTUVWXYZ iotag 'z' ⍝ Solves problem of ⎕a not being lower case. abcdefghijklmnopqrstuvwxyz iotag 'õ' ⍝ Equivalent to ⎕Á ÁÂÃÇÈÊËÌÍÎÏÐÒÓÔÕÙÚÛÝþãìðòõ iotag '9' ⍝ Equivalent to ⎕D 0123456789 iotag 2 3 ┌───┬───┬───┐ │1 1│1 2│1 3│ ├───┼───┼───┤ │2 1│2 2│2 3│ └───┴───┴───┘ iotag 2 ¯3 ┌────┬────┬────┐ │1 ¯1│1 ¯2│1 ¯3│ ├────┼────┼────┤ │2 ¯1│2 ¯2│2 ¯3│ └────┴────┴────┘ iotag 'C5' ┌──┬──┬──┬──┬──┬──┐ │A0│A1│A2│A3│A4│A5│ ├──┼──┼──┼──┼──┼──┤ │B0│B1│B2│B3│B4│B5│ ├──┼──┼──┼──┼──┼──┤ │C0│C1│C2│C3│C4│C5│ └──┴──┴──┴──┴──┴──┘ iotag 'BC' ┌──┬──┬──┐ │AA│AB│AC│ ├──┼──┼──┤ │BA│BB│BC│ └──┴──┴──┘ 'C' iotag 'F' ⍝ Alphabetic Interval CDEF 'm' iotag 'r' ⍝ Lowercase interval mnopqr 'Â' iotag 'Ó' ⍝ Underscore interval ÂÃÇÈÊËÌÍÎÏÐÒÓ 'P' iotag 'L' ⍝ Reverse interval PONML 'a' iotag 'F' ⍝ ⎕AV Interval abcdefghijklmnopqrstuvwxyz¯.⍬0123456789⊢¥$£¢∆ABCDEF 3 iotag 7 ⍝ Numeric interval (scalar left arg) 3 4 5 6 7 12 iotag 5 ⍝ Reverse numeric interval 12 11 10 9 8 7 6 5 3 iotag 5 .5 ⍝ Interval with step size 3 3.5 4 4.5 5 12 iotag 3 3 ⍝ Reverse interval with step size 12 9 6 3 ¯5 iotag 6 ⍝ Negative numbers OK ¯5 ¯4 ¯3 ¯2 ¯1 0 1 2 3 4 5 6 'ABCDE' iotag 'B' ⍝ Index of 2 Beatles←4 6⍴'JOHN PAUL GEORGERINGO ' ⍝ Character matrix APLers←4 5⍴'STEVEPAUL JOHN PETE ' ⍝ List of names Names←4 6⍴'PAUL STEVE BILL GEORGE' Beatles APLers Names ⍝ Show Matrices ┌──────┬─────┬──────┐ │JOHN │STEVE│PAUL │ │PAUL │PAUL │STEVE │ │GEORGE│JOHN │BILL │ │RINGO │PETE │GEORGE│ └──────┴─────┴──────┘ APLers iotag 'STEVE' ⍝ Find name 1 APLers iotag 'STEVE' ⍝ Find name 1 APLers iotag 'STEVE ' ⍝ Ignores trailing blanks 1 APLers iotag Beatles ⍝ Two matrices 3 2 5 5 'PETE' iotag 'PETE' ⍝ Vector left argument 1 2 3 2 Rank3←↑APLers Beatles ⍝ Rank 3 Array Rank3 iotag Beatles ⍝ Find matrix in Rank-3 array 2 Beatles iotag Rank3 ⍝ Find Vectors in matrix 5 2 1 5 1 2 3 4 Rank3 iotag ↑Beatles Names 2 3 ⎕io←0 ⍝ try with origin 0 iotag 3 0 1 2 iotag ¯3 0 ¯1 ¯2 iotag 'D' ⍝ Uppercase Character ABCD iotag 'g' ⍝ Lowercase Character abcdefg iotag 'Ò' ⍝ Underscore Character ÁÂÃÇÈÊËÌÍÎÏÐÒ iotag '7' ⍝ Digit 01234567 iotag 'Z' ⍝ Equivalent to ⎕A ABCDEFGHIJKLMNOPQRSTUVWXYZ iotag 'z' ⍝ Solves problem of ⎕a not being lower case. abcdefghijklmnopqrstuvwxyz iotag 'õ' ⍝ Equivalent to ⎕Á ÁÂÃÇÈÊËÌÍÎÏÐÒÓÔÕÙÚÛÝþãìðòõ iotag '9' ⍝ Equivalent to ⎕D 0123456789 iotag 2 3 ┌───┬───┬───┐ │0 0│0 1│0 2│ ├───┼───┼───┤ │1 0│1 1│1 2│ └───┴───┴───┘ iotag 2 ¯3 ┌───┬────┬────┐ │0 0│0 ¯1│0 ¯2│ ├───┼────┼────┤ │1 0│1 ¯1│1 ¯2│ └───┴────┴────┘ iotag 'C5' ┌──┬──┬──┬──┬──┬──┐ │A0│A1│A2│A3│A4│A5│ ├──┼──┼──┼──┼──┼──┤ │B0│B1│B2│B3│B4│B5│ ├──┼──┼──┼──┼──┼──┤ │C0│C1│C2│C3│C4│C5│ └──┴──┴──┴──┴──┴──┘ 'C' iotag 'F' ⍝ Alphabetic Interval CDEF 'm' iotag 'r' ⍝ Lowercase interval mnopqr 'Â' iotag 'Ó' ⍝ Underscore interval ÂÃÇÈÊËÌÍÎÏÐÒÓ 'P' iotag 'L' ⍝ Reverse interval PONML 'a' iotag 'F' ⍝ ⎕AV Interval abcdefghijklmnopqrstuvwxyz¯.⍬0123456789⊢¥$£¢∆ABCDEF 3 iotag 7 ⍝ Numeric interval (scalar left arg) 3 4 5 6 7 12 iotag 5 ⍝ Reverse numeric interval 12 11 10 9 8 7 6 5 3 iotag 5 .5 ⍝ Interval with step size 3 3.5 4 4.5 5 12 iotag 3 3 ⍝ Reverse interval with step size 12 9 6 3 ¯5 iotag 6 ⍝ Negative numbers OK ¯5 ¯4 ¯3 ¯2 ¯1 0 1 2 3 4 5 6 'ABCDE' iotag 'B' ⍝ Index of 1 Beatles←4 6⍴'JOHN PAUL GEORGERINGO ' ⍝ Character matrix APLers←4 5⍴'STEVEPAUL JOHN PETE ' ⍝ List of names Names←4 6⍴'PAUL STEVE BILL GEORGE' Beatles APLers Names ⍝ Show Matrices ┌──────┬─────┬──────┐ │JOHN │STEVE│PAUL │ │PAUL │PAUL │STEVE │ │GEORGE│JOHN │BILL │ │RINGO │PETE │GEORGE│ └──────┴─────┴──────┘ APLers iotag 'STEVE' ⍝ Find name 0 APLers iotag 'STEVE' ⍝ Find name 0 APLers iotag 'STEVE ' ⍝ Ignores trailing blanks 0 APLers iotag Beatles ⍝ Two matrices 2 1 4 4 'PETE' iotag 'PETE' ⍝ Vector left argument 0 1 2 1 Rank3←↑APLers Beatles ⍝ Rank 3 Array Rank3 iotag Beatles ⍝ Find matrix in Rank-3 array 1 Beatles iotag Rank3 ⍝ Find Vectors in matrix 4 1 0 4 0 1 2 3 Rank3 iotag ↑Beatles Names 1 2 ⍝∇ iotag Back to: code Back to: Workspaces