Kurzusok
/
Perl
Perl
/
Tanterv
/
Referenciák
Re

Referenciák ebben a kurzusban: Perl

9 feladat

A(z) Referenciák fogalomról

A referenciák megértése alapvető feltétele annak, hogy hatékonyan használd a Perlt. Mivel a referenciák skalárok, a tömbök és a hash-ek pedig csak skalárokat tartalmazhatnak, a referenciák kulcsfontosságúak ezeknek az adatszerkezeteknek az egymásba ágyazásához.

Referenciákat létező változókhoz és szubrutinokhoz is létrehozhatsz a fordított perjel operátorral (\):

  • \$scalar skalárreferencia létrehozásához (ez bármilyen skalár lehet, például \1, nem csak egy változó).
  • \@array tömb­referencia létrehozásához.
  • \%hash hash-referencia létrehozásához.
  • \&sub kódreferencia létrehozásához.

Létrehozhatsz úgynevezett névtelen referenciát tömbökhöz, hash-ekhez és szubrutinokhoz is:

  • ['Alice', 'Bob', 'Charlie'] névtelen tömb­referencia létrehozásához.
  • {foo => 'a', bar => 'b', baz => 'c'} névtelen hash-referencia létrehozásához.
  • sub { return 1 } névtelen kódreferencia létrehozásához.

FIGYELEM: A kapcsos zárójelek a Perlben bizonyos helyzetekben félreérthetők lehetnek. Ha nem azt a hash-referenciát kapod, amire számítasz, tegyél egy pluszjelet a zárójel elé, hogy egyértelművé tedd, például +{}. További információért lásd a kapcsos zárójelekről szóló részt.

A referenciák eléréséhez a nyíl operátort (->) használhatod:

  • $ref->[0] egy tömbreferencián belüli elem eléréséhez.
  • $ref->{foo} egy hash-referencián belüli érték eléréséhez.
  • $ref->($arg) szubrutin meghívásához kódreferencián keresztül.

A bonyolult adatszerkezetekben, például többdimenziós tömbökben és egymásba ágyazott hash-ekben lévő adatokat indexek láncolásával érheted el, például $ref->{foo}[0]{bar} (ugyanaz, mint a $ref->{foo}->[0]->{bar}).

Ha egy teljes tömböt vagy hash-t szeretnél visszafejteni, használhatod a nyíl operátort, amelyet rendre a @* vagy a %* követ, például $ref->@* vagy $ref->%*. Egy tömbreferencia vagy hash-referencia szeleteit is megkaphatod, ha a *-ot indexre cseréled, például $ref->@[0..2] vagy $ref->@{'Foo', 'Bar'}. Szeleteknél a szigilvariáció ugyanúgy érvényes, mint a tömb- és hash-változóknál.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg

Tanuld meg a(z) Referenciák fogalmat

A gyakorlás zárolva

Oldj fel még 8 feladatot, hogy gyakorolhasd a(z) Referenciák fogalmat