Passing argument to execute a program

I don’t see how to add an argument to get this tutorial script to run.
I’ve tried ruby -i [1] test1.rb etc…
thanks in advance
re-v

require ‘gtk’

This program takes an argument.

Make sure that we have an argument.

unless which = ARGV.shift
raise "This program takes a numeric argument from 1-3"
Gtk::main_quit
end

Make a box with button-labels. Arguments for the variables

we’re interested are passed in to this function.

def make_box(homogeneous, spacing, expand, fill, padding)
hbox = Gtk::HBox.new(homogeneous, spacing)

# Create some buttons.
button = Gtk::Button.new "box.pack "
hbox.pack_start button, expand, fill, padding

button = Gtk::Button.new "button, "
hbox.pack_start button, expand, fill, padding

button = Gtk::Button.new "#{expand}, "
hbox.pack_start button, expand, fill, padding

button = Gtk::Button.new "#{fill}, "
hbox.pack_start button, expand, fill, padding

button = Gtk::Button.new "#{padding}"
hbox.pack_start button, expand, fill, padding

hbox

end

window = Gtk::Window.new(Gtk::WINDOW_TOPLEVEL)

This time we connect the ‘delete_event’ signal straight to Gtk.main_quit

so we don’t need to connect the ‘destroy’ signal.

window.signal_connect(‘delete_event’) { Gtk.main_quit }
window.border_width 10

Create a vertical box to pack the horizontal boxes into.

vbox = Gtk::VBox.new(false, 0)
window.add vbox

case which
when '1’
label = Gtk::Label.new "Gtk::HBox.new false, 0"
vbox.pack_start label, false, false, 0

    hbox = make_box false, 0, false, false, 0
    vbox.pack_start hbox, false, false, 0

    hbox = make_box false, 0, true, false, 0
    vbox.pack_start hbox, false, false, 0

    hbox = make_box false, 0, true, true, 0
    vbox.pack_start hbox, false, false, 0


    separator = Gtk::HSeparator.new
    vbox.pack_start separator, false, true, 5


    label = Gtk::Label.new "Gtk::HBox.new true, 0"
    vbox.pack_start label, false, false, 0
                         
    hbox = make_box true, 0, true, false, 0
    vbox.pack_start hbox, false, false, 0

    hbox = make_box true, 0, true, true, 0
    vbox.pack_start hbox, false, false, 0

    separator = Gtk::HSeparator.new
    vbox.pack_start separator, false, true, 5

when '2'
    label = Gtk::Label.new "Gtk::HBox false, 10"
    vbox.pack_start label, false, false, 0

    hbox = make_box false, 10, true, false, 0
    vbox.pack_start hbox, false, false, 0

    hbox = make_box false, 10, true, true, 0
    vbox.pack_start hbox, false, false, 0


    separator = Gtk::HSeparator.new
    vbox.pack_start separator, false, true, 5


    label = Gtk::Label.new 'Gtk::Hbox.new false, 0'
    vbox.pack_start label, false, false, 0

    hbox = make_box false, 0, true, false, 10
    vbox.pack_start hbox, false, false, 0

    hbox = make_box false, 0, true, true, 10
    vbox.pack_start hbox, false, false, 0


    separator = Gtk::HSeparator.new
    vbox.pack_start separator, false, true, 5


    label = Gtk::Label.new 'Gtk::Hbox.new false, 0'
    vbox.pack_start label, false, false, 0

    hbox = make_box false, 0, true, false, 10
    vbox.pack_start hbox, false, false, 0

    hbox = make_box false, 0, true, true, 10
    vbox.pack_start hbox, false, false, 0


    separator = Gtk::HSeparator.new
    vbox.pack_start separator, false, true, 5

when '3'
    # This demonstrates how we can use pack_end to right-justify
    # widgets.  You will have to resize the window to see the
    # right justification.
    hbox = make_box false, 0, false, false, 0

    label = Gtk::Label.new("end")

    # Pack label into an hbox and pack the hbox into a vbox.
    hbox.pack_end label, false, false, 0
    vbox.pack_end hbox,  false, false, 0

    # Separator
    separator = Gtk::HSeparator.new
    vbox.pack_start separator, false, true, 5

else
    puts "Argument '#{which}' is not an integer from 1 to 3"

end

window.show_all
Gtk.main

Try:

  ruby test1.rb 1

···

On Thu, Feb 27, 2003 at 08:11:35AM +0900, reavey wrote:

I don't see how to add an argument to get this tutorial script to run.
I've tried ruby -i [1] test1.rb etc...