There are two executables provided with the cygwin32 Ruby distribution:
ruby.exe
and
rubyw.exe
.
ruby.exe
is meant to be used at a command prompt (a DOS shell),
just as in the Unix version. For applications that read and write to
the standard input and output, this is fine.
But that also means that anytime you run
ruby.exe
, you'll get a
DOS shell even if you don't want one---Windows will create a new
command prompt window and display it while Ruby is running. This
might not be appropriate behavior if, for example,
you double-click on a Ruby script that uses a graphical interface
(such as Tk), or if you are running a Ruby script as a background
task, or from inside another program.
In these cases, you'll want to use
rubyw.exe
. It is the same as
ruby.exe
except that it does not provide standard in, standard
out, or standard error, and does not launch a DOS shell when run.
You can set a file association
[Using
View/Options/Filetypes
from Explorer.]
so that files with the extension ``
.rb
'' will
automatically use
rubyw.exe
. By doing this, you can double-click
on Ruby scripts and they will simply run without popping up a DOS
shell.