|
From: | Blake McBride |
Subject: | Re: [Bug-apl] String element of general array |
Date: | Sun, 11 May 2014 16:38:55 -0500 |
Here's a version that doesn't use a lambda. Instead, there's a new
function `findl' that captures `list' from its caller (`finds').
∇z←findl key
∇z←list find key
z←key≡¨list
∇
z←(nl list) find ⊂key
∇
∇z←list finds keys
z←findl¨nl keys
∇∇z←nl l
∇z←me e
z←⊂(⎕io+≡e)⊃(⊂,e) (,e) (e)
∇
z←me¨(⎕io+1=≡l)⊃l (⊂l)On Fri, 2014-05-09 at 12:55 -0700, David B. Lamkins wrote:
∇
[snip]
> Here's an example:
>
> ]boxing 8
> ll←'a' 'bc' 'def' 'foo' 'g'
> ll
> ┌→───────────────────┐
> │a ┌→─┐ ┌→──┐ ┌→──┐ g│
> │ │bc│ │def│ │foo│ │
> │ └──┘ └───┘ └───┘ │
> └∊───────────────────┘
> ll finds 'a'
> ┌───────────┐
> │┌→────────┐│
> ││1 0 0 0 0││
> │└─────────┘│
> └∊──────────┘
> ll finds 'bc' 'foo'
> ┌→──────────────────────┐
> │┌→────────┐ ┌→────────┐│
> ││0 1 0 0 0│ │0 0 0 1 0││
> │└─────────┘ └─────────┘│
> └∊──────────────────────┘
> ⍝ Beware...
> ll finds 'a' 'g'
> ┌───────────┐
> │┌→────────┐│
> ││0 0 0 0 0││
> │└─────────┘│
> └∊──────────┘
> ⍝ ... because:
> 'a' 'g'
> ┌→─┐
> │ag│
> └──┘
> ll finds (,'a') (,'g')
> ┌→──────────────────────┐
> │┌→────────┐ ┌→────────┐│
> ││1 0 0 0 0│ │0 0 0 0 1││
> │└─────────┘ └─────────┘│
> └∊──────────────────────┘
>
[Prev in Thread] | Current Thread | [Next in Thread] |