f=:(];.0~,:)~
    3 4 f 'abcdefghijk'
defg

Note that

       ,:3 4
3 4
       $,:3 4
1 2



Den 3:01 fredag den 11. april 2014 skrev Henry Rich <henryhr...@nc.rr.com>:
 
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" <rauldmil...@gmail.com> 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 <dongu...@gmail.com> 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

Reply via email to