promenna predana odkazem
Honza Pazdziora
adelton na informatics.muni.cz
Pátek Listopad 1 14:49:06 MET 2002
On Fri, Nov 01, 2002 at 02:44:18PM +0100, Jiri Polcar wrote:
> On Fri, Nov 01, 2002 at 02:38:09PM +0100, Pavel Smerk wrote:
> > IMHO ho prikazem $scalar_input = ${$input}; kopirujete z promenne odkazovane
> > $input do promenne $scalar_input, takze minimalne v tu chvili bude v pameti
> > dvakrat. Proc nechcete pouzivat primo $$input? Pokud predate primo hodnotu,
> > tak se imho kopiruje uz pri predavani.
>
> Protoze chci, aby vlastni kod fce nebyl zavisly na tom, co se mu dostane
> na vstupu. Takto bych musel psat fci pro $input a pak jeste jednou pro
> $$input.
Tak to udelejte naopak:
sub funkce {
my $paramref;
if (ref($_[0]) eq 'SCALAR') {
$paramref = $_[0]; # zkopiruje se ta reference
} else {
$paramref = \$_[0]; # vyrobi se reference
}
# a zde se pracuje uz vesele s $paramref
}
--
------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
... all of these signs saying sorry but we're closed ...
------------------------------------------------------------------------
Další informace o konferenci Perl