note
merlyn
If the method calls are set up properly, you can "chain" them, like:
<code>
(my $window = Gtk::Window->new("toplevel"))
->signal_connect(delete => sub { Gtk->exit(0); return })
->set_title("Test")
->border_width(15)
->add($btn)
->show;
</code>
but this requires that each of these configurator calls returns <tt>$self</tt> 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:
<code>
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;
}
</code>
By not repeating <tt>$window</tt> repeatedly, you make it clear in the code that you are working on the <b>same</b> object every time. Also, it works well if you want to configure many objects similarly.
<p>-- [http://www.stonehenge.com/merlyn/|Randal L. Schwartz, Perl hacker]
<br>
Be sure to read [id://205373|my standard disclaimer] if this is a reply.</p>
208407
208407