[Jprogramming] index error on load (but works in console)

bill lam bbill.lam at gmail.com
Mon Apr 9 13:29:26 HKT 2007


If I were you, I would use debug facility to test for y. or tallies in the verb, 
insert a break point into tally_rightpairs

tally_rightpairs =: 3 : 0
[:0
+/"1 (2 3 {"1 ((i.#y.) { y.)){ tallies
)

invoke debug by ctrl-k, and then load the script, when it stops at the break 
point, type y. or $y. or tallies in the ijx.


Tracy Harms wrote:
> I've been working on the puzzle from Dr. Dobbs that
> Randy MacDonald announced here:
> http://www.jsoftware.com/pipermail/chat/2007-April/000467.html
> 
> I'm still not ready for full-fledged spoilers, but I
> am asking for help getting past one particular error
> condition.  The problem is that an index error is
> reported when I try to load the script, but it seems
> fine when I run it in the J console.
> 
> My approach to solving the puzzle is:
> 
> reportstates same_chars same_tallies 4 comb 50
> 
> I've only developed this as deep as verb same_tallies,
> which is:
> 
> same_tallies =: ((tally_leftpairs = tally_rightpairs)
> y.) # y.
> 
> Here are the component verbs:
> 
> tally_leftpairs  =: 3 : '+/"1 (0 1 {"1 ((i.#y.) { y.))
> { tallies'
> tally_rightpairs =: 3 : '+/"1 (2 3 {"1 ((i.#y.) { y.))
> { tallies'
> 
> Now I'll show testing from a J session, ending with an
> error on attempt to load the same verb that functioned
> perfectly when entered in the console:
> 
>    twocomb =: 0 1 11 14 ,: 4 5 6 20
>    twocomb
> 0 1 11 14
> 4 5  6 20
>    twocomb { states
> +----------+--------+-----------+-------------+
> |Alabama   |Alaska  |Idaho      |Iowa         |
> +----------+--------+-----------+-------------+
> |California|Colorado|Connecticut|Massachusetts|
> +----------+--------+-----------+-------------+
>    twocomb { tallies
>  7 6  5  4
> 10 8 11 13
>    (0 1 {"1 ((i.#twocomb) { twocomb)) { tallies
>  7 6
> 10 8
>    (2 3 {"1 ((i.#twocomb) { twocomb)) { tallies
>  5  4
> 11 13
>    +/"1 (0 1 {"1 ((i.#twocomb) { twocomb)) { tallies
> 13 18
>    +/"1 (2 3 {"1 ((i.#twocomb) { twocomb)) { tallies
> 9 24
>    load 'c:\j504\user\miscellany\statespzl2.ijs'
> |index error: tally_rightpairs
> |   +/"1(2 3    {"1((i.#y.){y.)){tallies
> 
> No error was signaled for the line before it, which
> differed only in the values of the pairing noun:
> 
> tally_leftpairs  =: 3 : '+/"1 (0 1 {"1 ((i.#y.) { y.))
> { tallies'
> tally_rightpairs =: 3 : '+/"1 (2 3 {"1 ((i.#y.) { y.))
> { tallies'
> 
> I'm at a loss as to what needs to be fixed, here.
> 
> --
> Tracy B. Harms
> 
>      It is the central thesis of this book that the descriptive
>      and analytic power of an adequate programming language amply
>      repays the considerable effort required for its mastery.
> 				Kenneth E. Iverson
> 				A Programming Language, 1962
> 
> 
>  
> ____________________________________________________________________________________
> It's here! Your new message!  
> Get new email alerts with the free Yahoo! Toolbar.
> http://tools.search.yahoo.com/toolbar/features/mail/
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> 


-- 
regards,
bill


More information about the Programming mailing list