Un symbole est un objet qui a une correspondance biunivoque avec n'importe quelle chaîne de caractères. La syntaxe du symbole est que le symbole définit un deux-points (:) suivi de n'importe quel nom.
`: Nom du symbole``
(Exemple)
:sushi
:ruby
:pen
:sushi.class # =>Symbol
'sushi'.class # =>String
Les symboles sont des objets de la classe Symbol La chaîne est un objet de la classe String
string = 'sushi'
string.upcase! # => "SUSHI"
#Le symbole est immuable, donc des changements destructeurs ne sont pas possibles
symbol = :sushi
symbol.upcase! # => ruby.rb:5:in `<main>': undefined method `upcase!' for :sushi:Symbol (NoMethodError)
Les chaînes de caractères peuvent être modifiées de manière destructive Le symbole est impossible
Mutable signifie «modifiable», Immuable signifie «immuable, immuable».
Des modifications destructives peuvent être appliquées à des objets mutables tels que des chaînes. Mais, Les modifications destructives ne peuvent pas être appliquées à des objets immuables tels que des symboles. Par conséquent, le symbole convient dans le but de "Je veux donner un nom à quelque chose, parce que c'est un nom, je ne veux pas que quiconque le change sans permission".
◎ 4 types d'objets immuables sont des types de données
--Valeur numérique: classe entière / flottante --Symbol: classe de symboles --Boolean: classe true, false --nil: classe nulle
―― Comme cela ressemble à une chaîne de caractères en surface, il est facile pour le programmeur de comprendre --Parce qu'il s'agit d'un entier en interne, l'ordinateur peut comparer les valeurs à grande vitesse.
Les symboles sont souvent utilisés lorsque vous souhaitez être en mesure d'identifier un nom dans votre code source, mais le nom ne doit pas nécessairement être une chaîne. Un cas d'utilisation typique est une clé de hachage. Vous pouvez utiliser des symboles dans la clé de hachage pour récupérer des valeurs plus rapidement que des chaînes.
Introduction à Ruby pour ceux qui veulent devenir des professionnels
Recommended Posts