Ah, never mind - this works fine in jconsole: l=.({.~i.&LF)memr b,0,s[(c,' fgets *c *c i *')cd(<b=.mema s);(s=.256);<f=.{.(c,' fdopen * i *c')cd(d=.0 cd~' dup > i i',~c=.unxlib'c');1 1$'r'
(Though repeated use should split that between setup and the actual line read, and of course, you would want a larger value for s if you wanted to read longer lines.) Thanks, -- Raul On Thu, Jun 21, 2018 at 11:02 AM Raul Miller <rauldmil...@gmail.com> wrote: > > Oddly, that doesn't work on my machine. > > It looks plausible, though. > > Thanks, > > -- > Raul > On Thu, Jun 21, 2018 at 3:09 AM Xiao-Yong Jin <meta....@gmail.com> wrote: > > > > You can also call c library functions. > > > > l=.({.~i.&LF)memr b,0,s[(c,' fgets *c *c i *')cd(<b=.mema > > s);(s=.256);<f=.{.(c,' fdopen * i *c')cd(d=.0 cd~' dup > i > > i',~c=.unxlib'c');1 1$'r' > > hello read line > > (;$)l > > ┌───────────────┬──┐ > > │hello read line│15│ > > └───────────────┴──┘ > > (c,' fclose i *')cd<f > > > > > > > On Jun 19, 2018, at 8:13 PM, Raul Miller <rauldmil...@gmail.com> wrote: > > > > > > Actually, thinking about this - 1!:1 reads the whole file, so it's > > > stty won't make a difference .- you'd need to use control-D to > > > terminate everything you send to it interactively. > > > > > > One approach - not incredibly efficient, but interactive > > > line-at-a-time input isn't about efficiency, might be: > > > > > > LINE=: 2!:0'read line; echo "$line"' > > > > > > This relies on 2!:0 being handled by /bin/sh (and note that you'll get > > > a trailing LF character when you do this). The double quotes are so > > > that redundant whitespace isn't removed by the shell... > > > > > > Or, if you want that as a verb: > > > > > > readline=: 2!:0 bind 'read line; echo "$line"' > > > > > > I hope this helps. > > > > > > -- > > > Raul > > > On Tue, Jun 19, 2018 at 8:57 PM Raul Miller <rauldmil...@gmail.com> wrote: > > >> > > >> Ah.. experimenting with this: > > >> > > >> stdin'' reads till end of file (hit control-D to finish input) > > >> readln'' as defined in this thread returns immediately, reading an empty > > >> string. > > >> > > >> At least on *my* system. > > >> > > >> I tried running > > >> > > >> stty eol ^J before starting J, thinking that would fix it, but it did > > >> not. But I'm running OSX where it might be that there's some "new and > > >> improved" mechanism for defining the end of line character. > > >> > > >> Anyways, this is likely an OS issue and the solution probably will > > >> depend on your OS. > > >> > > >> I hope this helps, > > >> > > >> -- > > >> Raul > > >> > > >> On Tue, Jun 19, 2018 at 8:41 PM Eric Iverson <eric.b.iver...@gmail.com> > > >> wrote: > > >>> > > >>> I think the replies here miss an important part of the question. The #! > > >>> script. > > >>> > > >>> #! /usr/bin/j8 > > >>> stdin'' > > >>> > > >>> On Tue, Jun 19, 2018 at 8:21 PM, Don Guinn <dongu...@gmail.com> wrote: > > >>> > > >>>> It appears that the right argument is ignored. Perhaps have it be > > >>>> displayed > > >>>> on the same line as the input. > > >>>> > > >>>> readln 'Name: ' > > >>>> > > >>>> On Tue, Jun 19, 2018 at 6:18 PM Raul Miller <rauldmil...@gmail.com> > > >>>> wrote: > > >>>> > > >>>>> 1 -:&(3!:3) 01 > > >>>>> 1 > > >>>>> > > >>>>> No difference in what's represented, so the only difference is in how > > >>>>> you type it / the leading zero / ... > > >>>>> > > >>>>> Thanks, > > >>>>> > > >>>>> -- > > >>>>> Raul > > >>>>> > > >>>>> On Tue, Jun 19, 2018 at 8:15 PM Devon McCormick <devon...@gmail.com> > > >>>>> wrote: > > >>>>>> > > >>>>>> How does "01" differ from "1" in this context? > > >>>>>> > > >>>>>> "readln" works for me within a session but I think James wants to do > > >>>>>> something like pipe input into a J script. This is not something > > >>>>>> I've > > >>>>> done > > >>>>>> but it would be interesting if we can do it. > > >>>>>> > > >>>>>> On Tue, Jun 19, 2018 at 5:10 PM, Henry Rich <henryhr...@gmail.com> > > >>>>> wrote: > > >>>>>> > > >>>>>>> ? The 01 is correct as it stands. On Windows I get correct > > >>>> operation: > > >>>>>>> > > >>>>>>> readln =: [: (1!:01) 1: > > >>>>>>> readln'' > > >>>>>>> abcdefg > > >>>>>>> abcdefg > > >>>>>>> > > >>>>>>> The first line is what I typed, the second is the JE's result > > >>>>>>> > > >>>>>>> Henry Rich > > >>>>>>> > > >>>>>>> > > >>>>>>> On 6/19/2018 5:05 PM, james faure wrote: > > >>>>>>> > > >>>>>>>> Either way, it's no good > > >>>>>>>> > > >>>>>>>> ________________________________ > > >>>>>>>> From: Programming <programming-boun...@forums.jsoftware.com> on > > >>>>> behalf > > >>>>>>>> of devonmcc <devon...@gmail.com> > > >>>>>>>> Sent: Tuesday, June 19, 2018 11:00:39 PM > > >>>>>>>> To: programm...@jsoftware.com > > >>>>>>>> Subject: Re: [Jprogramming] getline > > >>>>>>>> > > >>>>>>>> The "01" following the "!:" is probably supposed to be "0]1". > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> Sent from my Verizon, Samsung Galaxy smartphone > > >>>>>>>> -------- Original message --------From: Michal Wallace < > > >>>>>>>> michal.wall...@gmail.com> Date: 6/19/18 16:06 (GMT-05:00) To: > > >>>>>>>> programm...@jsoftware.com Subject: Re: [Jprogramming] getline > > >>>>>>>> readln =: [: (1!:01) 1: > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> On Tue, Jun 19, 2018 at 2:45 PM james faure <james.fa...@epitech.eu > > >>>>> > > >>>>>>>> wrote: > > >>>>>>>> > > >>>>>>>> Hello, how can one read stdin one line at a time ? > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> #! /usr/bin/j8 > > >>>>>>>>> > > >>>>>>>>> stdin'' > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> is no good. > > >>>>>>>>> > > >>>>> ---------------------------------------------------------------------- > > >>>>>>>>> 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 > > >>>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> --- > > >>>>>>> This email has been checked for viruses by AVG. > > >>>>>>> https://www.avg.com > > >>>>>>> > > >>>>>>> > > >>>>>>> ------------------------------------------------------------ > > >>>> ---------- > > >>>>>>> For information about J forums see http://www.jsoftware.com/ > > >>>> forums.htm > > >>>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> -- > > >>>>>> > > >>>>>> Devon McCormick, CFA > > >>>>>> > > >>>>>> Quantitative Consultant > > >>>>>> ---------------------------------------------------------------------- > > >>>>>> 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 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm