From: Jean-Julien Fleck Date: 2010-10-04T18:49:47+09:00 Subject: Re: Object.object.method() 2010/10/3 Johan Soderholm : > Hello, obviously it's a time for a noobie question. What the following > statement means? > > Object.object.method() > > Sample code: > > window = Gtk::Window.new(Gtk::Window::TOPLEVEL) > area = 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 = Gtk::Window.new(Gtk::Window::TOPLEVEL) area = 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 = Gtk::Window.new(Gtk::Window::TOPLEVEL) area = Gtk::DrawingArea.new() area.fenetre.set_cursor(Gdk::Cursor.new(Gdk::Cursor::PENCIL)) should not work: ruby should complain with a "NoMethodError" Cheers, -- JJ Fleck PCSI1 Lycée Kléber