bug-apl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-apl] String element of general array


From: David B. Lamkins
Subject: Re: [Bug-apl] String element of general array
Date: Fri, 09 May 2014 14:00:46 -0700

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←list find key
 z←key≡¨list
∇

∇z←findl key
 z←(nl list) find ⊂key
∇

∇z←list finds keys
 z←findl¨nl keys
∇

∇z←me e
 z←⊂(⎕io+≡e)⊃(⊂,e) (,e) (e)
∇

∇z←nl l
 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││
> │└─────────┘ └─────────┘│
> └∊──────────────────────┘
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]