/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
Forskellen på deklarering af variabler med~
Fra : Tom


Dato : 03-12-06 18:15

Hej

Hvad er forskellen for Perl, om jeg deklarerer en variabel med paranteser
omkring eller ej i nedenstående tilfælde:

my $foo = 42;
my ($bar) = 10;

Tom



 
 
Flemming Frandsen (03-12-2006)
Kommentar
Fra : Flemming Frandsen


Dato : 03-12-06 19:50

Tom wrote:
> my $foo = 42;
> my ($bar) = 10;

Well, man kan få perl til at ligne lisp lidt mere, men ellers tror jeg
ikke der er nogen forskel:)


....Men med paranteser kan du skrive:

my ($foo, $bar, $baz) = (1,2,3);

eller måske bare:

my ($foo, $bar);

eller
($foo, $bar) = @baz[1,2];


Lasse Hillerøe Peter~ (18-12-2006)
Kommentar
Fra : Lasse Hillerøe Peter~


Dato : 18-12-06 11:22

Tom wrote:
> Hej
>
> Hvad er forskellen for Perl, om jeg deklarerer en variabel med paranteser
> omkring eller ej i nedenstående tilfælde:
>
> my $foo = 42;
> my ($bar) = 10;
>
> Tom

I dit konkrete eksempel er forskellen effektivt ingenting.
Overordnet er forskellen at parenteserne giver en listekontekst til
initialiseringsudtrykket:
able/footmp $ cat test.pl
sub myfun {
my $a = @_;
print "\$a is $a\n";
}

sub myfun2 {
my($a) = @_;
print "\$a is $a\n";
}

myfun("Foo");
myfun("Bar","Zot");

myfun2("Foo");
myfun2("Bar","Zot");
able/footmp $ perl test.pl
$a is 1
$a is 2
$a is Foo
$a is Bar

Så man skal ikke tro at parentesen altid kan undværes når der kun er en
variabel!

-Lasse

Søg
Reklame
Statistik
Spørgsmål : 177416
Tips : 31962
Nyheder : 719565
Indlæg : 6407858
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste