perl.lt 
 
 Apie Straipsniai Funkcijos Parsisiųsti Nuorodos 
 
 Versija spausdinimui /Funkcijos/tie - priskirti kintamąjį obejktų klasei/Atgal 
 
 
  • tie VARIABLE,CLASSNAME,LIST

    Ši funkcija pririša kintąmąjį prie paketo klasės, kuris leis realizuoti kintamąjį. VARIABLE yra kintamojo vardas, kuriuo jis bus iškviečiamas. CLASSNAME yra klasės, realizuojančios teisingo tipo objektus, vardas. Bet kokie papildomi argumentai yra perduodami new klasės metodui (t.y. TIESCALAR , TIEHANDLE , TIEARRAY ar TIEHASH ). Paprastai tai yra argumentai, kurie gali būti perduodami dbm_open() C funkcijai. Objektas, gražintas new metodo taip pat gražinamas tie funkcijos, kuri galėtų būti naudinga, norint prieiti prie kitų CLASSNAME metodų.

    Įsidėmėkite, kad funkcijos kaip kad keys ir values gali gražinti milžinišką sąrašą, kai panaudotos dideliems objektams, kaip kad DBM failai. Jums gali labiau norėtis naudoti each funkcija, atlikti iteraciją per tokius objektus. Pavyzdys:

        # print out history file offsets
    use NDBM_File;
    tie(%HIST, 'NDBM_File', '/usr/lib/news/history', 1, 0);
     while (($key,$val) = each %HIST) {
    print $key, ' = ', unpack('L',$val), "\n";
     }
    untie(%HIST);

    Klasė, realizuojanti hash'ą, turėtų turėti tokius metodus:

        TIEHASH classname, LIST
     FETCH this, key
     STORE this, key, value
     DELETE this, key
     CLEAR this
     EXISTS this, key
     FIRSTKEY this
     NEXTKEY this, lastkey
     SCALAR this
     DESTROY this
     UNTIE this

    Klasė, realizuojanti eilinį masyvą, turėtų turėti tokius metodus:

        TIEARRAY classname, LIST
     FETCH this, key
     STORE this, key, value
     FETCHSIZE this
     STORESIZE this, count
     CLEAR this
     PUSH this, LIST
     POP this
     SHIFT this
     UNSHIFT this, LIST
     SPLICE this, offset, length, LIST
     EXTEND this, count
     DESTROY this
     UNTIE this

    Klasė, realizuojanti failo valdiklį, turėtų turėti tokius metodus:

        TIEHANDLE classname, LIST
     READ this, scalar, length, offset
     READLINE this
     GETC this
     WRITE this, scalar, length, offset
     PRINT this, LIST
     PRINTF this, format, LIST
     BINMODE this
     EOF this
     FILENO this
     SEEK this, position, whence
     TELL this
     OPEN this, mode, LIST
     CLOSE this
     DESTROY this
     UNTIE this

    Klasė, realizuojanti skaliarą, turėtų turėti tokius metodus:

        TIESCALAR classname, LIST
     FETCH this,
     STORE this, value
     DESTROY this
     UNTIE this

    Ne visi metodai, parodyti viršuj privalo būti realizuoti. Žr. perltie, Tie::Hash, Tie::Array, Tie::Scalar ir Tie::Handle.

    Skirtingai nuo dbmopen, tie funkcija nenaudos ir nereikalaus modulio - reikės pačiam rankiškai susivokti ir juo pateikti. Žr. DB_File arba Config modulį įdomiems tie realizavimams.

    Dėl tolimesnių detalių žr. perltie, tied VARIABLE.

 
 
 
2005.04.11 - 2012.05.21 © algirdas@perl.lt 
 Perl.lt programavimo savaitgaliai | Reklaminiai skydeliai | Perl.lt kodas