bill lam wrote: > I'm puzzled. If prompt works for you, why 1!:1]1 didn't?
Just to make sure that all info is known, this is NOT from jconsole, which I never use. Rather, this is in a J session in .ijx and where code is developed in .ijs. I tried the 1!:1]1 two different ways, using a cover verb (test1 and test2) and using in-line code (test3): -------------------------------------- require 'files strings' test1=: 3 : 0 d=. input 'enter something: ' smoutput < d ) test2=: 3 : 0 d=. input2 'enter something: ' smoutput < d ) test3=: 3 : 0 d=. 'enter something: ' 1!:1 ]1 smoutput < d ) input=: 3 : 0 y entry=. 1!:1 ]1 ) input2=: 3 : 0 y 1!:1 ]1 ) -------------------------------------- It turns out from further testing that J does NOT hang when using this approach. It only SEEMED that way because J was actually waiting for input. Somewhere along the line, I thought I'd try pressing the ENTER key--and, lo and behold, it seemed to break out of the "hang up" and returned me to the normal session condition of waiting for a command. Then I thought, "Maybe it was really waiting for input of some kind", and so I typed some random letters before pressing the ENTER key. Lo and behold (again!), it was working and was really waiting for input all the time. The reason I originally didn't pursue this any further is that the Dictionary misled me (is this a bug in the Dictionary?) when page dx001.htm clearly stated, "read from the keyboard (does not work within a script)". The behavior I described above fit into the Dictionary's statement (because the seeming misbehaviors were in a script), and so I didn't pursue it any further but asked here for alternatives instead. So, in answer to your question, bill: yes, it really does work; I just didn't realize it. Well, almost... The reason I didn't realize it is that I thought that (in input and input2) the literal y would display, and it didn't. By inserting "smoutput" ahead of the y's, the prompts displayed. With test3, the first line had to be split in two: the first displaying the prompt using smoutput, and the second the desired code. Because the prompt literals didn't display originally, I thought the code wasn't working, when in fact J was waiting for input. (The reason I thought the prompts would display in the code at the top of this email is that single literals usually seem to display in J, and I didn't realize that the safest approach apparently is to always use "smoutput" or "1!:2]2" to display them.) The lingering problem with this approach is that, in contrast to the "prompt" verb, the prompt literal and the user input are on separate lines--not a good thing. Here's the visual difference, using an underscore to indicate the location of the cursor: Your 1!:1]1 approach: The "prompt" verb: This is the data prompt: This is the data prompt: _ _ Or is there some documentation somewhere that indicates how your approach can be made to look like the "prompt" verb approach? I hope this extra information helps explain the situation more clearly. Harvey ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm