⍝ Select and modify:

    vex←('one' 'two' 'three')('alpha' 'beta' 'gamma')('red' 'blue' 'green')

    vex                                 ⍝ depth-3 array
┌───────────────┬──────────────────┬────────────────┐
│┌───┬───┬─────┐│┌─────┬────┬─────┐│┌───┬────┬─────┐│
││one│two│three│││alpha│beta│gamma│││red│blue│green││
│└───┴───┴─────┘│└─────┴────┴─────┘│└───┴────┴─────┘│
└───────────────┴──────────────────┴────────────────┘
    2 ↑sam⌽ vex                         ⍝ first two items reversed
┌──────────────────┬───────────────┬────────────────┐
│┌─────┬────┬─────┐│┌───┬───┬─────┐│┌───┬────┬─────┐│
││alpha│beta│gamma│││one│two│three│││red│blue│green││
│└─────┴────┴─────┘│└───┴───┴─────┘│└───┴────┴─────┘│
└──────────────────┴───────────────┴────────────────┘
    2 ↑sam⌽¨ vex                        ⍝ each of first 2 items reversed
┌───────────────┬──────────────────┬────────────────┐
│┌───┬───┬─────┐│┌────┬─────┬─────┐│┌────┬───┬─────┐│
││two│one│three│││beta│alpha│gamma│││blue│red│green││
│└───┴───┴─────┘│└────┴─────┴─────┘│└────┴───┴─────┘│
└───────────────┴──────────────────┴────────────────┘
    2 ↑sam⌽¨¨ vex                       ⍝ each of each of   ..      ..
┌───────────────┬──────────────────┬────────────────┐
│┌───┬───┬─────┐│┌─────┬────┬─────┐│┌───┬────┬─────┐│
││noe│wto│htree│││lapha│ebta│agmma│││erd│lbue│rgeen││
│└───┴───┴─────┘│└─────┴────┴─────┘│└───┴────┴─────┘│
└───────────────┴──────────────────┴────────────────┘
    ⊃sam ⍪vex                           ⍝ first item flipped
┌───────┬──────────────────┬────────────────┐
│┌─────┐│┌─────┬────┬─────┐│┌───┬────┬─────┐│
││one  │││alpha│beta│gamma│││red│blue│green││
│├─────┤│└─────┴────┴─────┘│└───┴────┴─────┘│
││two  ││                  │                │
│├─────┤│                  │                │
││three││                  │                │
│└─────┘│                  │                │
└───────┴──────────────────┴────────────────┘

    ⎕io←1

    2 ⊃sam ⍪vex                         ⍝ middle item flipped
┌───────────────┬───────┬────────────────┐
│┌───┬───┬─────┐│┌─────┐│┌───┬────┬─────┐│
││one│two│three│││alpha│││red│blue│green││
│└───┴───┴─────┘│├─────┤│└───┴────┴─────┘│
│               ││beta ││                │
│               │├─────┤│                │
│               ││gamma││                │
│               │└─────┘│                │
└───────────────┴───────┴────────────────┘
    1 2 3 ⊃sam ⍪¨vex                    ⍝ one vector of each item  flipped
┌─────────────┬───────────────┬────────────┐
│┌─┬───┬─────┐│┌─────┬─┬─────┐│┌───┬────┬─┐│
││o│two│three│││alpha│b│gamma│││red│blue│g││
││n│   │     │││     │e│     │││   │    │r││
││e│   │     │││     │t│     │││   │    │e││
│└─┴───┴─────┘││     │a│     │││   │    │e││
│             │└─────┴─┴─────┘││   │    │n││
│             │               │└───┴────┴─┘│
└─────────────┴───────────────┴────────────┘
    1 2 3 ⊃sam{'<',⍵,'>'}¨ vex          ⍝ one vector of each item bracketed
┌─────────────────┬────────────────────┬──────────────────┐
│┌─────┬───┬─────┐│┌─────┬──────┬─────┐│┌───┬────┬───────┐│
││<one>│two│three│││alpha│<beta>│gamma│││red│blue│<green>││
│└─────┴───┴─────┘│└─────┴──────┴─────┘│└───┴────┴───────┘│
└─────────────────┴────────────────────┴──────────────────┘
    1 0 1 /sam{⊂'---'} vex              ⍝ outside items replaced
┌───┬──────────────────┬───┐
│---│┌─────┬────┬─────┐│---│
│   ││alpha│beta│gamma││   │
│   │└─────┴────┴─────┘│   │
└───┴──────────────────┴───┘
    (⊂1 0 1) /sam{⊂'---'}¨ vex          ⍝ outside vectors of each item replaced
┌─────────────┬──────────────┬──────────────┐
│┌───┬───┬───┐│┌───┬────┬───┐│┌───┬────┬───┐│
││---│two│---│││---│beta│---│││---│blue│---││
│└───┴───┴───┘│└───┴────┴───┘│└───┴────┴───┘│
└─────────────┴──────────────┴──────────────┘
    1 0 1 /sam{⊂'---'}¨ vex             ⍝ each vector of outside items replaced
┌─────────────┬──────────────────┬─────────────┐
│┌───┬───┬───┐│┌─────┬────┬─────┐│┌───┬───┬───┐│
││---│---│---│││alpha│beta│gamma│││---│---│---││
│└───┴───┴───┘│└─────┴────┴─────┘│└───┴───┴───┘│
└─────────────┴──────────────────┴─────────────┘
    ↑vex                                ⍝ matrix of vectors
┌─────┬────┬─────┐
│one  │two │three│
├─────┼────┼─────┤
│alpha│beta│gamma│
├─────┼────┼─────┤
│red  │blue│green│
└─────┴────┴─────┘
    1 1 ⍉sam⌽ ↑vex                      ⍝ diagonal reversed
┌─────┬────┬─────┐
│green│two │three│
├─────┼────┼─────┤
│alpha│beta│gamma│
├─────┼────┼─────┤
│red  │blue│one  │
└─────┴────┴─────┘
    1 1 ⍉sam(⌽¨) ↑vex                   ⍝ each vector on diagonal reversed
┌─────┬────┬─────┐
│eno  │two │three│
├─────┼────┼─────┤
│alpha│ateb│gamma│
├─────┼────┼─────┤
│red  │blue│neerg│
└─────┴────┴─────┘
    1 1 ⍉sam(ucase¨) ↑vex               ⍝ diagonal vectors upper-cased
┌─────┬────┬─────┐
│ONE  │two │three│
├─────┼────┼─────┤
│alpha│BETA│gamma│
├─────┼────┼─────┤
│red  │blue│GREEN│
└─────┴────┴─────┘
    ↑¨vex                               ⍝ vector of matrices
┌─────┬─────┬─────┐
│one  │alpha│red  │
│two  │beta │blue │
│three│gamma│green│
└─────┴─────┴─────┘
    (⊂1 1) ⍉sam{ucase ⍵}¨ ↑¨vex         ⍝ diagonals upper-cased
┌─────┬─────┬─────┐
│One  │Alpha│Red  │
│tWo  │bEta │bLue │
│thRee│gaMma│grEen│
└─────┴─────┴─────┘
    (⊂1 1) ⍉sam{'·'}¨ ↑¨vex             ⍝ diagonals zapped
┌─────┬─────┬─────┐
│·ne  │·lpha│·ed  │
│t·o  │b·ta │b·ue │
│th·ee│ga·ma│gr·en│
└─────┴─────┴─────┘

Back to: code

Back to: Workspaces