No. I put the stars to show that fill could be characters other than blank.

On Sun, May 2, 2021, 6:31 PM greg heil <[email protected]> wrote:

> Don
>
> perhaps you meant?
>    (0j1 * &.-. mask) #!. ' ' chars
> B E G
>
> ~greg
> https//picsrp.github.io
>
> --
>
> from: Don Guinn <[email protected]>
> to: Programming forum <[email protected]>
> date: Apr 16, 2021, 11:49 AM
> subject: Re: [Jprogramming] How to choose characters with a boolean mask?
>
> And more interesting things.
>    2j1 1 0j1 1#!.'*' 'abcd'
> aa*b*d
>
> --
>
> from: Devon McCormick <[email protected]>
> to: J-programming forum <[email protected]>
> date: Apr 16, 2021, 9:34 AM
> subject: Re: [Jprogramming] How to choose characters with a boolean mask?
>
> For replacing the masked characters:
>    mask}chars,:'.'        NB. Replace with .s
> A.CD.F.HIJKLM
> or
>    'XYZ' (I.mask)}chars   NB. Replace with specific characters
> AXCDYFZHIJKLM
>
> --
>
> from: Jimmy Gauvin <[email protected]>
> to: [email protected]
> date: Apr 16, 2021, 7:28 AM
> subject: Re: [Jprogramming] How to choose characters with a boolean mask?
>
> You might also be interested in the inverse of copy
>
> 1 0 0 0 1 0 1 #^:_1 'abc'
>
> a b c
>
> I remember I had a hard time finding expand
>
> --
>
> from: ethiejiesa
> reply-to: [email protected]
> to: [email protected]
> date: Apr 15, 2021, 10:53 PM
> subject: Re: [Jprogramming] How to choose characters with a boolean mask?
>
> Is monadic # what you're looking for?
>
>        mask # chars
>     BEG
>
> --
>
> from: 'robert therriault'to: [email protected]
> date: Apr 15, 2021, 10:52 PM
> subject: Re: [Jprogramming] How to choose characters with a boolean mask?
>
> Hi Harvey,
>
> >You are right that you can't use *. but you can use # or { depending on
> whether you are working with booleans or indices
>
>     chars=. 'ABCDEFGHIJKLM'
>    mask=. 0 1 0 0 1 0 1 0 0 0 0 0 0
>    mask # chars      NB. use Copy (dyadic #) to choose which
> characters get copied
> BEG
>    I. mask         NB. Indices (monadic I.) returns indices of 1's
> 1 4 6
>    (I. mask) { chars     NB. use From (dyadic {) to select indices
> from the character list
> BEG
>
> Hope this helps
>
> Cheers, bob
>
> --
>
> from: HH PackRat <[email protected]>
> to: [email protected]
> date: Apr 15, 2021, 10:38 PM
> subject: [Jprogramming] How to choose characters with a boolean mask?
>
> Hello, all!
>
> >I have a list of characters and a boolean list of 1s and 0s.  I thought
> that I could use the boolean list as a "mask" to choose characters by using
> "and" (*.).  But the definition in NuVoc basically states that it can only
> be used with numbers (no literals).
>
> >Here's an example of the kind of thing I'd like to be able to do:
>
> chars=. 'ABCDEFGHIJKLM'
> mask=. 0 1 0 0 1 0 1 0 0 0 0 0 0   [boolean values]
>
> mask2=. 0 1 0 0 4 0 6 0 0 0 0 0 0   [positions of boolean values]
>
> >I thought that I could do something like  chars *. mask to get the result
> BEG.  That doesn't work nor does converting the mask to position numbers
> (mask2) work.  So how *can* I mask the characters? I'd be interested in
> knowing both the "pure" boolean kind of approach (1s and 0s only) as well
> as a positional approach that I can use with amending.
>
> >My ultimate goal is actually to amend the masked characters to be a
> different character(s).  I hope I've given enough information.  (The
> example, of course, is completely "fake", but I hope it gives the idea of
> what I'm trying to do.)
>
> Thanks for any help!
>
> Harvey
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to