Hum. Pelo que me lembro sobre factory's, elas são generalistas. No seu exemplo, você está dizendo que quer construir uma factory especializada. Enfim, ambos estão corretos no meu ponto de vista heh.<br><br><div><span class="gmail_quote">
2006/8/16, Eden Cardim &lt;<a href="mailto:edencardim@gmail.com">edencardim@gmail.com</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On 8/16/06, Igor Sutton &lt;<a href="mailto:igor.sutton@gmail.com">igor.sutton@gmail.com</a>&gt; wrote:<br>&gt;<br>&gt;<br>&gt; &gt; Mostre o código!<br>&gt;<br>&gt; &lt;code&gt;<br>&gt;&nbsp;&nbsp;sub factory {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $wanted = shift;
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my %factory = (<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'square' =&gt; sub { &quot;square&quot; },<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'triangle' =&gt; sub { &quot;triangle&quot; },<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $factory{$wanted}-&gt;();<br>&gt;&nbsp;&nbsp;}
<br>&gt;<br>&gt;&nbsp;&nbsp;print factory('triangle');<br>&gt; &lt;/code&gt;<br><br>Na verdade, seria algo mais assim:<br><br>sub new_factory {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $wanted = shift;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return sub { &quot;building $wanted...\n&quot; };
<br>}<br><br>my $triangle_factory = new_factory('triangle');<br>my $square_factory = new_factory('square');<br>print $triangle_factory-&gt;();<br>print $square_factory-&gt;();<br><br>--<br>Eden Cardim<br>Instituto Baiano de Biotecnologia
<br>Núcleo de Biologia Computacional e Gestão de Informações Biotecnológicas<br>Laboratório de Bioinformática<br>_______________________________________________<br>Cascavel-pm mailing list<br><a href="mailto:Cascavel-pm@pm.org">
Cascavel-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br></blockquote></div><br><br clear="all"><br>-- <br>Igor Sutton Lopes<br>t: +55 51 9627.0779
<br>e: <a href="mailto:igor.sutton@gmail.com">igor.sutton@gmail.com</a>