I am using jqt on windows.  Specifically:

   9!:12 ''

6

9!:14''

j806/j64avx/windows/beta-3/commercial/www.jsoftware.com/2017-04-10T18:03:23


I stop and start the jqt program.  Then I select my project but I do not
load any of the programs into the workspace.  I highlight and select the
seltest code from the browser, and try to run it.  It proves that it has
not loaded my project because the 'pp' program has not been loaded.  Then I
highlight pp and its small dependents and load them into my workspace.

So other than stuff that came with J, (like wd), this is the entire
environment.

I start the program and none of my single character matches work.  For some
reason, it matches 'end' when I type 3 characters.  Now, this is an extract
of a much larger program that I was trying to use a select in and it was
failing, and I couldn't figure out why.  I then realized that I was not
quite sure what was being reflected to the program so I added displays
which

   seltest =: 3 : 0


pp 'keyboard read: end to end'

while. (r =. 1!:1 (1)) do.

pp 'r was ->';r;'<-';'#r';(#r);'3!:3 r';(3!:3 r)

select. r

case. '0' do. pp 'zero'

case. ' ' do. pp 'space'

case. 'n' do. pp 'n'

case. '' do. pp ''''''

case. 'p' do. pp 'p'

case. '-' do. pp 'dash'

case. '_' do. pp 'underscore'

case. 'end' do. return.

case. 'e' do. return.

case. do. pp 'nothing matched'

end.

end.

)

seltest ''

|value error: pp

| pp'keyboard read: end to end'

ppbox =: 1

pp =: 3 : 0


if. (boxed y) +. -. (ppbox) do.

(y) (1!:2) 2

else.

(<y) (1!:2) 2

end.

wd'msgs'

''

)

boxed =: 3 : 0


(3!:0 y) = 32

)

seltest ''

┌─────────────────────────┐

│keyboard read: end to end│

└─────────────────────────┘

0

┌────────┬─┬──┬──┬─┬──────┬────────────────┐

│r was ->│0│<-│#r│1│3!:3 r│e300000000000000│

│ │ │ │ │ │ │0200000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │3000000000000000│

└────────┴─┴──┴──┴─┴──────┴────────────────┘

┌───────────────┐

│nothing matched│

└───────────────┘

┌────────┬┬──┬──┬─┬──────┬────────────────┐

│r was ->││<-│#r│0│3!:3 r│e300000000000000│

│ ││ │ │ │ │0200000000000000│

│ ││ │ │ │ │0000000000000000│

│ ││ │ │ │ │0100000000000000│

│ ││ │ │ │ │0000000000000000│

│ ││ │ │ │ │0000000000000000│

└────────┴┴──┴──┴─┴──────┴────────────────┘

┌──┐

│''│

└──┘


┌────────┬┬──┬──┬─┬──────┬────────────────┐

│r was ->││<-│#r│0│3!:3 r│e300000000000000│

│ ││ │ │ │ │0200000000000000│

│ ││ │ │ │ │0000000000000000│

│ ││ │ │ │ │0100000000000000│

│ ││ │ │ │ │0000000000000000│

│ ││ │ │ │ │0000000000000000│

└────────┴┴──┴──┴─┴──────┴────────────────┘

┌──┐

│''│

└──┘

n

┌────────┬─┬──┬──┬─┬──────┬────────────────┐

│r was ->│n│<-│#r│1│3!:3 r│e300000000000000│

│ │ │ │ │ │ │0200000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │6e00000000000000│

└────────┴─┴──┴──┴─┴──────┴────────────────┘

┌───────────────┐

│nothing matched│

└───────────────┘

p

┌────────┬─┬──┬──┬─┬──────┬────────────────┐

│r was ->│p│<-│#r│1│3!:3 r│e300000000000000│

│ │ │ │ │ │ │0200000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │7000000000000000│

└────────┴─┴──┴──┴─┴──────┴────────────────┘

┌───────────────┐

│nothing matched│

└───────────────┘

-

┌────────┬─┬──┬──┬─┬──────┬────────────────┐

│r was ->│-│<-│#r│1│3!:3 r│e300000000000000│

│ │ │ │ │ │ │0200000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │2d00000000000000│

└────────┴─┴──┴──┴─┴──────┴────────────────┘

┌───────────────┐

│nothing matched│

└───────────────┘

_

┌────────┬─┬──┬──┬─┬──────┬────────────────┐

│r was ->│_│<-│#r│1│3!:3 r│e300000000000000│

│ │ │ │ │ │ │0200000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │5f00000000000000│

└────────┴─┴──┴──┴─┴──────┴────────────────┘

┌───────────────┐

│nothing matched│

└───────────────┘

e

┌────────┬─┬──┬──┬─┬──────┬────────────────┐

│r was ->│e│<-│#r│1│3!:3 r│e300000000000000│

│ │ │ │ │ │ │0200000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │6500000000000000│

└────────┴─┴──┴──┴─┴──────┴────────────────┘

┌───────────────┐

│nothing matched│

└───────────────┘

end

┌────────┬───┬──┬──┬─┬──────┬────────────────┐

│r was ->│end│<-│#r│3│3!:3 r│e300000000000000│

│ │ │ │ │ │ │0200000000000000│

│ │ │ │ │ │ │0300000000000000│

│ │ │ │ │ │ │0100000000000000│

│ │ │ │ │ │ │0300000000000000│

│ │ │ │ │ │ │656e640000000000│

└────────┴───┴──┴──┴─┴──────┴────────────────┘




So end matches but nothing else does.
When I hit enter it returns the same thing as when there is number of
spaces entered and, finally, when I type '   end'  it matches 'end'  and
reports a length of 3.  Since I read that select used e. I tried these
sentences:

   (1!:1 (1)) e. 'e'

e

1

(1!:1 (1)) e. 'e'

z

0


They seem to do what I expect.   Also:

   (1!:1 (1)) e.~ 'e'

z

0

(1!:1 (1)) e.~ 'e'

e

1

Unless I completely misunderstand, I think I have a bug.  I can probably
make the select into an if as a bypass.
-- 
Of course I can ride in the carpool lane, officer.  Jesus is my constant
companion.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to