in reply to multiple method calls against the same object (f.ex GUI programming)
If the method calls are set up properly, you can "chain" them, like:
but this requires that each of these configurator calls returns $self as the last step, which is frequently the case, although beginners don't understand why to do this because they've not seen this pattern before. Even if it doesn't, I sometimes find myself simply chaining these calls using an alias:(my $window = Gtk::Window->new("toplevel")) ->signal_connect(delete => sub { Gtk->exit(0); return }) ->set_title("Test") ->border_width(15) ->add($btn) ->show;
By not repeating $window repeatedly, you make it clear in the code that you are working on the same object every time. Also, it works well if you want to configure many objects similarly.my $window = Gtk::Window->new("toplevel"); for ($window) { $_->signal_connect(delete => sub { Gtk->exit(0); return }); $_->set_title("Test"); $_->border_width(15); $_->add($btn); $_->show; }
-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Re: multiple method calls against the same object (f.ex GUI programming)
by dada (Chaplain) on Oct 28, 2002 at 15:25 UTC | |
by merlyn (Sage) on Oct 28, 2002 at 15:27 UTC | |
Re^2: multiple method calls against the same object (f.ex GUI programming)
by Aristotle (Chancellor) on Oct 28, 2002 at 17:09 UTC | |
by merlyn (Sage) on Oct 28, 2002 at 18:34 UTC | |
by Aristotle (Chancellor) on Oct 29, 2002 at 02:16 UTC |
In Section
Cool Uses for Perl