2010/10/3 Johan Soderholm <teisto / surfy.net>:
> Hello, obviously it's a time for a noobie question. What the following
> statement means?
>
> Object.object.method()
>
> Sample code:
>
> window =3D Gtk::Window.new(Gtk::Window::TOPLEVEL)
> area =3D Gtk::DrawingArea.new()
> area.window.set_cursor(Gdk::Cursor.new(Gdk::Cursor::PENCIL))
>
> I'm confused. Can anyone enlight me?

To complete Rick's answer, the "window" in the last line has
(normally) *nothing* to do with your window variable. Ruby sees that
you are trying to talk to the object "area" (because of the dot) so it
politely ask "area" if it has a method named "window" (which I assume
it has). You could try

fenetre =3D Gtk::Window.new(Gtk::Window::TOPLEVEL)
area =3D Gtk::DrawingArea.new()
area.window.set_cursor(Gdk::Cursor.new(Gdk::Cursor::PENCIL))

it should still work (assuming you change all the other occurence of
*variable* "window" into "fenetre")

On the contrary, the code

fenetre =3D Gtk::Window.new(Gtk::Window::TOPLEVEL)
area =3D Gtk::DrawingArea.new()
area.fenetre.set_cursor(Gdk::Cursor.new(Gdk::Cursor::PENCIL))

should not work: ruby should complain with a "NoMethodError"

Cheers,

--=20
JJ Fleck
PCSI1 Lyc=E9e Kl=E9ber