Some more observations:

 (,: 3 4) <;.0 'abcdefghijklmnop'

|length error

| (,:3 4) <;.0'abcdefghijklmnop'


(,. 3 4) <;.0 'abcdefghijklmnop'

┌────┐

│defg│

└────┘


Following Henry's advice is always a great idea!


On Fri, Apr 11, 2014 at 5:44 AM, Linda Alvord <[email protected]>wrote:

> Henry,  Here's what seems strange to me.
>
>     f=: 13 :'(,:x)];.0 y'
>
>    f
> ] ];.0~ [: ,: [
>
>    5!:6 <'f'
> ] ((];.0)~) ([: ,: [)
>
>    4 5 (] (g=:(];.0)~) (B=:[: ,: [))A=:'abcdefghijk'
> efghi
>
>    A
> abcdefghijk
>
>    B
> [: ,: [
>
>    ]C=:4 5 B A
> 4 5
>
>    $C
> 1 2
>
>    g
> ];.0~
>
>    A g C
> efghi
>
>    5!:4 <'g'
>              -- ]
> -- ~ --- ;. -+- 0
>
>    h=: 13 :'x(];.0~)y'
>
>    h
> ];.0~
>
>    A h C
> efghi
>
>    i=: 13 :'x((D=:]);.0~)y'
>
>    A i C
> efghi
>
>    i
> 4 : 'x((D=:]);.0~)y'
>
>    type <'g'
> -----┐
> │verb│
> L-----
>    type <'h'
> -----┐
> │verb│
> L-----
>    type <'i'
> -----┐
> │verb│
> L-----
>
> When I write  I  and display  I   it  begins  4 :
>
> But when I ask for the type of  I   it is a verb.
>
> Linda
>
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Henry Rich
> Sent: Thursday, April 10, 2014 9:01 PM
> To: [email protected]
> Subject: Re: [Jprogramming] "Segmented Strings"
>
> Can anyone explain why
>     (,:3 4) ];.0 'abcdefghijklmnop'
> defg
>
> works?
>
> According to Ye Dic, 0{x gives the starting point, and 1{x gives the
> length.  But
>
>     0 { (,:3 4)
> 3 4
>     1 { (,:3 4)
> |index error
>
> AFAICS a table with one row is treated as if it were a table with one
> column.
>
> In any case, to conform to the definition you should use
> substr =: (];.0~ ,.)~"1 _
>
> ,. not ,:
>
> Henry Rich
>
> On 4/10/2014 8:23 PM, Don Guinn wrote:
> > Yes. I used those for a long time. I think. ;. is faster.
> >   On Apr 10, 2014 6:06 PM, "Raul Miller" <[email protected]> wrote:
> >
> >> I'm going to be building hashes, but currently it looks like it'll be
> >> faster to generate them after finding the unique values rather than
> >> before.
> >>
> >> Hashes have great sales pitches in favor of them, but generating them
> >> takes time.
> >>
> >> Meanwhile, getting lots and lots of real memory is relatively cheap.
> >> According to https://aws.amazon.com/ec2/pricing/ I can use a machine
> >> with 244 gigabytes of ram for $3.50 an hour. I do not think I'll need
> >> that much memory, even for a short time.
> >>
> >> If it helps, though, there's other ways to get a substring:
> >>
> >>     4{.3}. 'abcdefghijk'
> >> defg
> >>     (3+i.4){'abcdefghijk'
> >> defg
> >>
> >> Thanks,
> >>
> >> --
> >> Raul
> >>
> >>
> >> On Thu, Apr 10, 2014 at 6:45 PM, Don Guinn <[email protected]> wrote:
> >>>
> >>>
> >>> Sounds like you can format the data as you want once you get it all.
> >> Given
> >>> the amount of data there is no way to read it
> >>> the entire file
> >>>   in an interactive environment. So it has to be indexed or in a
> database.
> >>> If you really want to use a segmented string you could keep the index
> to
> >>> the start of each line to
> >>> quickly get
> >>>   the line. Also, build a hash for the keys you intend to search on
> rather
> >>> than trying to search the actual file.
> >>> This index and hash should fit in memory quite easily.
> >>> When you talk about a file that big, mapped or not, it's still going to
> >>> require the amount of virtual storage the size of the file, which will
> >> need
> >>> to be moved from the file or swap into real storage to process.
> >>> Scanning the entire file
> >>>   will be very slow unless you have lots and lots of real memory.
> >>>
> >>> I haven't seen anyone mention an easy way to substring from a text
> file.
> >> It
> >>> took me a long time to find it in the dictionary.
> >>> It really exists.
> >>> And it was not obvious when I finally did find it. So I will post it
> here
> >>> for anyone who hasn't found it.
> >>>
> >>>
> >>>     substr=:4 : 0 NB. x: start and length, y: string
> >>>
> >>> (,:x)];.0 y
> >>>
> >>> )
> >>>
> >>>     3 4 substr 'abcdefghijk'
> >>>
> >>> defg
> >>> ----------------------------------------------------------------------
> >>> For information about J forums see http://www.jsoftware.com/forums.htm
> >> ----------------------------------------------------------------------
> >> For information about J forums see http://www.jsoftware.com/forums.htm
> >>
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> 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