I’m a newbie to Ruby. When I tried running the following code excerpted
from The Ruby Way, p. 405, on a Win2000SP3 system using ruby 1.6.8
(2002-12-24) [i586-mswin32]:
require "win32ole"
print "Enter the filename to print: "
docfile = gets
...
My first question is: Are you running this
by double-clicking on an icon, or from the
command line?
Hal
···
----- Original Message -----
From: “RLMuller” RLMuller@comcast.net
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Wednesday, May 14, 2003 12:20 PM
Subject: ‘gets’ flagged as ‘Bad file descriptor’ - why?
Hi All.
I’m a newbie to Ruby. When I tried running the following code excerpted
from The Ruby Way, p. 405, on a Win2000SP3 system using ruby 1.6.8
(2002-12-24) [i586-mswin32]:
require "win32ole"
print "Enter the filename to print: "
docfile = gets
...
I’ve been running from an SciTE environment, where I’ve run many other Ruby
test pgms. Since you raised the question, I tested from a Command Window
… successfully! Thanks.
Of course, now I have a Ruby/SciTE question. If you have any suggestion as
whom to contact about that,
I’d appreciate additional advice. Perhaps I’ll re-post this question under
a new subject.
Regards,
Richard
···
----- Original Message -----
From: “Hal E. Fulton” hal9000@hypermetrics.com
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Wednesday, May 14, 2003 2:15 PM
Subject: Re: ‘gets’ flagged as ‘Bad file descriptor’ - why?
----- Original Message -----
From: “RLMuller” RLMuller@comcast.net
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Wednesday, May 14, 2003 12:20 PM
Subject: ‘gets’ flagged as ‘Bad file descriptor’ - why?
Hi All.
I’m a newbie to Ruby. When I tried running the following code excerpted
from The Ruby Way, p. 405, on a Win2000SP3 system using ruby 1.6.8
(2002-12-24) [i586-mswin32]:
require "win32ole"
print "Enter the filename to print: "
docfile = gets
...
returns an error for line 3:
`gets': Bad file descriptor (Errno::EBADF)
Thanks for any info you may be able to offer.
Hmm. Not sure on this one.
My first question is: Are you running this
by double-clicking on an icon, or from the
command line?
I’ve been running from an SciTE environment, where I’ve run many other
Ruby
test pgms. Since you raised the question, I tested from a Command Window
… successfully! Thanks.
Of course, now I have a Ruby/SciTE question. If you have any suggestion
as
whom to contact about that,
I’d appreciate additional advice. Perhaps I’ll re-post this question
under
a new subject.
Well, I guess what’s happening is that when you do a
gets() in that way, without a window, it doesn’t know
where/how to get the input.
Maybe a simple GUI would help that. It should only
take a few lines in the GUI of your choice to
throw up a dialog box… of course, to get a little
fancier, you could use some specialized widget that
browses for filenames in a tree.
If you do something like that, why don’t you share
it with the list?
IMHO, your analysis is right on target. SciTE redirects stdout (and stderr)
to a panel within it’s window. But, clearly, they didn’t redirect stdin
from that panel (after writing a prompt). So the correct solution, it seem
to me, is an enhancement of that IDE, which I can’t afford to volunteer to
try.
So a work-around, as you suggest, is the path of least trouble. The Windows
API has a function for opening an input dialog that accepts a string which
gets returned to the caller. And Win32API provides a way to get to such a
function. That leads me to think that it shouldn’t be too difficult to
‘def’ a static ‘wgets’ method to return a string from an input dialog.
I’ll look into this briefly. If you have any off-hand comments, I’d
appreciate them. If I can’t get this going this afternoon, I’ll shelve it
in favor of using FX.
C’ya,
Richard
···
----- Original Message -----
From: “Hal E. Fulton” hal9000@hypermetrics.com
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Wednesday, May 14, 2003 3:06 PM
Subject: Re: ‘gets’ flagged as ‘Bad file descriptor’ - why?
----- Original Message -----
From: “RLMuller” RLMuller@comcast.net
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Wednesday, May 14, 2003 1:56 PM
Subject: Re: ‘gets’ flagged as ‘Bad file descriptor’ - why?
Great book!
Thanks…
I’ve been running from an SciTE environment, where I’ve run many other
Ruby
test pgms. Since you raised the question, I tested from a Command
Window
… successfully! Thanks.
Of course, now I have a Ruby/SciTE question. If you have any suggestion
as
whom to contact about that,
I’d appreciate additional advice. Perhaps I’ll re-post this question
under
a new subject.
Well, I guess what’s happening is that when you do a
gets() in that way, without a window, it doesn’t know
where/how to get the input.
Maybe a simple GUI would help that. It should only
take a few lines in the GUI of your choice to
throw up a dialog box… of course, to get a little
fancier, you could use some specialized widget that
browses for filenames in a tree.
If you do something like that, why don’t you share
it with the list?
Cheers,
Hal
Regards,
Richard
----- Original Message -----
From: “Hal E. Fulton” hal9000@hypermetrics.com
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Wednesday, May 14, 2003 2:15 PM
Subject: Re: ‘gets’ flagged as ‘Bad file descriptor’ - why?
----- Original Message -----
From: “RLMuller” RLMuller@comcast.net
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Wednesday, May 14, 2003 12:20 PM
Subject: ‘gets’ flagged as ‘Bad file descriptor’ - why?
Hi All.
I’m a newbie to Ruby. When I tried running the following code
excerpted
from The Ruby Way, p. 405, on a Win2000SP3 system using ruby 1.6.8
(2002-12-24) [i586-mswin32]:
require "win32ole"
print "Enter the filename to print: "
docfile = gets
...
returns an error for line 3:
`gets': Bad file descriptor (Errno::EBADF)
Thanks for any info you may be able to offer.
Hmm. Not sure on this one.
My first question is: Are you running this
by double-clicking on an icon, or from the
command line?
>
> The Windows API has a function for opening an input
> dialog that accepts a string which gets returned to
> the caller. And Win32API provides a way to get to such a
> function.
>
>
> From: "Hal E. Fulton"
>
> >
> > Maybe a simple GUI would help that. It should only
> > take a few lines in the GUI of your choice to
> > throw up a dialog box... of course, to get a little
> > fancier, you could use some specialized widget that
> > browses for filenames in a tree.
> >
> > If you do something like that, why don't you share
> > it with the list?
> >
Swin gives easy access to some Win32 dialogs (and more)
and is included in /\ndy’s PragProg distro.
(Part of VisualuRuby on RAA)
English documention is ‘swin.c’