{larg}(fn ##.Depth k)rarg               ⍝ Apply fn at depths k.

From Adám Brudzewsky:

Dyadic operator Depth applies the function [fn] at the depths specified by [k].
Right operand [k] behaves like that of the Rank operator in several respects:

- It may have three elements, specifying depths for the monadic, left, and right
  cases

- The full form of the levels used is ⌽3⍴⌽k. For example, a 2-element vector p,q
  is equivalent to q,p,q .

Negative values are complementary:

    fn Depth(-r) rarg ←→ fn Depth((|≡rarg)-r) rarg

This is equivalent to J's L: conjunction:

    http://www.jsoftware.com/help/dictionary/dlcapco.htm
    http://code.jsoftware.com/wiki/Vocabulary/lcapco

Examples:

      ⊢a←(1 2)(3 4)(5 6)
┌───┬───┬───┐
│1 2│3 4│5 6│
└───┴───┴───┘
      ⊢b←(10 20 30)(40 50 60)
┌────────┬────────┐
│10 20 30│40 50 60│
└────────┴────────┘
      a(+Depth 1 2)b
┌───────────────────┬───────────────────┐
│┌─────┬─────┬─────┐│┌─────┬─────┬─────┐│
││11 12│23 24│35 36│││41 42│53 54│65 66││
│└─────┴─────┴─────┘│└─────┴─────┴─────┘│
└───────────────────┴───────────────────┘
      a(+Depth 1 3)b
┌─────────────────────────────────────────────────────────────┬─────────────────────────────────────────────────────────────┐
│┌───────────────────┬───────────────────┬───────────────────┐│┌───────────────────┬───────────────────┬───────────────────┐│
││┌─────┬─────┬─────┐│┌─────┬─────┬─────┐│┌─────┬─────┬─────┐│││┌─────┬─────┬─────┐│┌─────┬─────┬─────┐│┌─────┬─────┬─────┐││
│││11 12│13 14│15 16│││21 22│23 24│25 26│││31 32│33 34│35 36│││││41 42│43 44│45 46│││51 52│53 54│55 56│││61 62│63 64│65 66│││
││└─────┴─────┴─────┘│└─────┴─────┴─────┘│└─────┴─────┴─────┘│││└─────┴─────┴─────┘│└─────┴─────┴─────┘│└─────┴─────┴─────┘││
│└───────────────────┴───────────────────┴───────────────────┘│└───────────────────┴───────────────────┴───────────────────┘│
└─────────────────────────────────────────────────────────────┴─────────────────────────────────────────────────────────────┘
      a(+Depth ¯1 2)b
┌───────────────────┬───────────────────┐
│┌─────┬─────┬─────┐│┌─────┬─────┬─────┐│
││11 12│23 24│35 36│││41 42│53 54│65 66││
│└─────┴─────┴─────┘│└─────┴─────┴─────┘│
└───────────────────┴───────────────────┘

See also: perv saw rows

Back to: contents

Back to: Workspaces