Articles

RubyLearning.com

<Games | TOC/Hashes>

un simbol arată ca un nume de variabilă, dar este prefixat cu două puncte. Exemple -: acțiune,: line_items. Nu trebuie să pre-declarați un simbol și acestea sunt garantate a fi unice. Nu este nevoie să atribuiți un fel de valoare unui simbol – Ruby are grijă de asta pentru dvs. Ruby garantează, de asemenea, că, indiferent unde apare în programul dvs., un anumit simbol va avea aceeași valoare.

alternativ, puteți considera două puncte să însemne „lucru numit” deci :id este „lucru numit id.”De asemenea, vă puteți gândi la :id ca însemnând numele variabilei id și ID simplu ca însemnând valoarea variabilei.

un simbol este cel mai de bază obiect Rubin pe care îl puteți crea. E doar un nume și un act de identitate intern. Simbolurile sunt utile deoarece un nume de simbol dat se referă la același obiect pe parcursul unui program Ruby. Simbolurile sunt mai eficiente decât șirurile. Două șiruri cu același conținut sunt două obiecte diferite, dar pentru orice nume dat există un singur obiect simbol. Acest lucru poate economisi timp și memorie.

consultați exemplul: p039simbol.RB de mai jos

ieșirea când am rulat programul pe PC-ul meu a fost:

prin urmare, când folosim un șir versus un simbol?

  • dacă conținutul (secvența de caractere) obiectului este important, utilizați un șir
  • dacă identitatea obiectului este importantă, utilizați un simbol

Ruby folosește simboluri și menține un tabel de simboluri pentru a le ține. Simbolurile sunt nume – nume de variabile de instanță, nume de metode, nume de clase. Deci, dacă există o metodă numită control_movie, există automat un simbol :control_movie. Ruby a interpretat, așa că păstrează tabelul simbol la îndemână în orice moment. Puteți afla ce este pe el în orice moment apelând simbol.toate simbolurile.
un obiect simbol este creat prin prefixarea unui operator, șir, variabilă, constantă, metodă, clasă, nume Modul cu două puncte. Obiectul simbol va fi unic pentru fiecare nume diferit, dar nu se referă la o anumită instanță a numelui, pe durata executării unui program. Astfel, dacă Fred este o constantă într-un context, o metodă în altul și o clasă într-un al treilea, simbolul :Fred va fi același obiect în toate cele trei contexte.

Acest lucru poate fi ilustrat prin acest program simplu – p039xsymbol.RB:

ieșirea când am rulat programul pe PC – ul meu a fost:

Iată un alt exemplu-p039xysymbol.RB:

ieșirea este:

În acest exemplu,: da este un simbol. Simbolurile nu conțin valori sau obiecte, cum ar fi variabilele. În schimb, ele sunt folosite ca un nume consistent în cod. De exemplu, în codul precedent puteți înlocui cu ușurință simbolul cu un șir, ca în exemplul – p039xyzsymbol.rb

Acest lucru dă același rezultat, dar nu este la fel de eficient. În acest exemplu, fiecare mențiune a ‘da’ creează un obiect nou stocat separat în memorie, în timp ce simbolurile sunt valori de referință unice care sunt inițializate o singură dată. În primul exemplu de cod, numai: da există, în timp ce în al doilea exemplu veți termina cu șirurile complete de ‘da’ și ‘da’ preluând memoria.

de asemenea, putem transforma un șir într-un simbol și invers:

simbolurile sunt deosebit de utile atunci când creați hash-uri și doriți să faceți o distincție între chei și valori. Vă rugăm să consultați utilizarea simbolurilor ca taste Hash pentru un exemplu practic.

Fabio Akita un pasionat de șine Brazilian, de asemenea, cunoscut on-line ca „AkitaOnRails”, a scris acest articol exclusiv pe simboluri Rubin pentru rubylearning.com membri ca tine. Citiți articolul, după ce ați trecut prin această lecție.

notă: logo-ul Ruby este Copyright (c) 2006, Yukihiro Matsumoto. Am făcut referințe extinse la informații, legate de Ruby, disponibile în domeniul public (wiki-uri și bloguri, articole ale diferiților Guru Ruby), recunoașterea mea și mulțumiri tuturor. O mare parte din materialul de pe rubylearning.com și în cursul de la rubylearning.org este extras în primul rând din programare Ruby book, disponibil de pe raftul de cărți Pragmatic.

<Games / TOC / Hashes >