[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Attaching a script to IO

Ari Brown

7/24/2007 6:48:00 PM

Hey all,
I'm trying to attach a script's output to IO (a socket. Is IO
the right term?)
I currently use a GServer script to accept connections from localhost.

I don't know if that made sense, but is there any way to change the
default output to my socket output?

Thanks,
---------------------------------------------------------------|
~Ari
ruby 1.8.6 (2007-03-13 patchlevel 0) [powerpc-darwin8.10.0]




4 Answers

Ari Brown

7/24/2007 7:12:00 PM

0

Oh, and if it makes a difference, information on using sockets with
Highline (Thanks, james!) would be GREATLY appreciated.


On Jul 24, 2007, at 2:48 PM, Ari Brown wrote:

> Hey all,
> I'm trying to attach a script's output to IO (a socket. Is IO
> the right term?)
> I currently use a GServer script to accept connections from localhost.
>
> I don't know if that made sense, but is there any way to change the
> default output to my socket output?
>
> Thanks,
> ---------------------------------------------------------------|
> ~Ari
> ruby 1.8.6 (2007-03-13 patchlevel 0) [powerpc-darwin8.10.0]

-------------------------------------------|
Nietzsche is my copilot



Michael Gorsuch

7/24/2007 7:22:00 PM

0

On Wed, Jul 25, 2007 at 03:48:11AM +0900, Ari Brown wrote:
> Hey all,
> I'm trying to attach a script's output to IO (a socket. Is IO
> the right term?)

Works for me!

> I currently use a GServer script to accept connections from localhost.

Well, can you just send whatever you need to send via puts?

Example:

class MyThingy < GServer
def initialize(port=3000, *args)
super(port, *args)
end
def serve(io)
io.puts "Hello!"
end
end


>
> I don't know if that made sense, but is there any way to change the
> default output to my socket output?
>
> Thanks,
> ---------------------------------------------------------------|
> ~Ari
> ruby 1.8.6 (2007-03-13 patchlevel 0) [powerpc-darwin8.10.0]
>
>
>
>

Ari Brown

7/24/2007 7:39:00 PM

0


On Jul 24, 2007, at 3:21 PM, Michael Gorsuch wrote:
> Well, can you just send whatever you need to send via puts?
>
> Example:
>
> class MyThingy < GServer
> def initialize(port=3000, *args)
> super(port, *args)
> end
> def serve(io)
> io.puts "Hello!"
> end
> end

Well, except I'm not trying to send "hello". I'm trying to keep my
script nice and clean, so I have a bunch of ugly code in a separate
file (which I call with require) and a method test(). If I pass io
as an argument with test:

def serve(io)
test(io)
end

and then later in test(io) have

io.puts

will the variable scope allow that?

Or should I find a way to reroute $stdout?

thanks,
ari
-------------------------------------------|
Nietzsche is my copilot



Robert Klemme

7/24/2007 9:20:00 PM

0

On 24.07.2007 21:39, Ari Brown wrote:
>
> On Jul 24, 2007, at 3:21 PM, Michael Gorsuch wrote:
>> Well, can you just send whatever you need to send via puts?
>>
>> Example:
>>
>> class MyThingy < GServer
>> def initialize(port=3000, *args)
>> super(port, *args)
>> end
>> def serve(io)
>> io.puts "Hello!"
>> end
>> end
>
> Well, except I'm not trying to send "hello". I'm trying to keep my
> script nice and clean, so I have a bunch of ugly code in a separate file
> (which I call with require) and a method test(). If I pass io as an
> argument with test:
>
> def serve(io)
> test(io)
> end
>
> and then later in test(io) have
>
> io.puts
>
> will the variable scope allow that?
>
> Or should I find a way to reroute $stdout?

It seems you want your script to act as a _server_. In that case class
TCPServer will help you. Please have a look:

http://www.ruby-doc.org/docs/ProgrammingRuby/html/lib_ne...

Kind regards

robert