From: Robert Klemme Date: 2004-07-13T17:27:26+09:00 Subject: Re: Fork style of little programs "Markus Liebelt" schrieb im Newsbeitrag news:ufz7wdibt.fsf@online.de... > Hello everybody, > > I would like to build some small ruby programs, that will work > together as the unix shell commands. Eg the following could be used > inside a Cygwin shell: > > $ ruby evallog.rb | ruby sum.rb "Log: (.*)" > > which will evaluate a logfile, dump the result in lines, and the > second program will sum up the entries beginning with "Log: ". Just > to give you a sample how to do it. > > I now try to combine the two little programs in one program without > redefining the way their methods work. The first just writes out its > result by "puts ...", the second uses the variable $stdin. But how > could a new method look that combines the two? I have no idea how to > write it down. Is there something to "fork" the first one, so that > the second one can read from standard input while the first writes to > standard output? You could use a Queue (or an in process pipe implementation, if there is such a thing in ruby) and two threads within the same process. Regards robert