Symboles ou chaînes
Quand utiliser des symboles
Symboles ou chaînes est une leçon Ruby Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Ruby Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ruby Academy comprend 4 leçons au total.
Qu’est-ce qu’un symbole ?
Un symbole est un nom léger et immuable écrit avec un deux-points initial, comme :name. Les symboles servent souvent d’identifiants et de clés de hachage.
status = :active
puts status
puts status.classLes symboles sont immuables
Contrairement aux chaînes, les symboles ne peuvent pas être modifiés. Une fois que :hello existe, il reste toujours identique.
puts :hello.frozen?
puts "hello".frozen?Même symbole, même objet
Chaque utilisation d’un même symbole pointe vers un seul objet partagé en mémoire. Deux chaînes égales sont généralement des objets différents.
puts :ruby.object_id == :ruby.object_id
puts "ruby".object_id == "ruby".object_idPourquoi les symboles économisent de la mémoire
Comme les symboles identiques partagent un seul objet, leur utilisation comme clés répétées est efficace en mémoire. Les chaînes créeraient un nouvel objet à chaque fois.
ids = [:a, :a, :a]
puts ids.map(&:object_id).uniq.lengthConvertir de l’un à l’autre
Utilisez to_sym pour créer un symbole à partir d’une chaîne et to_s pour effectuer la conversion inverse.
word = "color"
sym = word.to_sym
puts sym
puts sym.to_s.upcaseLes symboles comme clés de hachage
Les symboles sont les clés de hachage les plus courantes dans Ruby, car ils sont rapides et ne changent jamais.
person = { name: "Ada", age: 36 }
puts person[:name]
puts person[:age]La syntaxe abrégée
Lorsque les clés sont des symboles, name: "Ada" est une forme abrégée de :name => "Ada". Les deux créent des clés symboliques.
a = { color: "red" }
b = { :color => "red" }
puts a == bLes symboles dans les appels de méthode
Les symboles nomment des méthodes pour des outils comme send et map(&:method). La forme &:upcase transforme un symbole en bloc.
words = ["a", "b", "c"]
puts words.map(&:upcase).inspectQuand utiliser une chaîne
Utilisez une chaîne lorsque la valeur correspond à des données que vous allez afficher, construire ou modifier : des noms, des messages ou le contenu de fichiers. Les chaînes disposent de nombreuses méthodes de traitement du texte.
greeting = "Hello"
greeting << ", world"
puts greetingQuand utiliser un symbole
Utilisez un symbole pour les identifiants fixes : clés de hachage, états et noms d’options. Ils indiquent clairement votre intention et ne risquent jamais d’être modifiés accidentellement.
def move(direction)
puts "Moving #{direction}"
end
move(:north)Comparer les symboles et les chaînes
Un symbole et une chaîne contenant les mêmes lettres ne sont pas égaux. Ce sont des types différents.
puts :name == "name"
puts :name.to_s == "name"Vérification rapide
Évaluez vos connaissances sur les symboles.
Récapitulatif
Vous connaissez maintenant la différence :
- les symboles sont immuables, partagés et idéaux comme clés et identifiants
- les chaînes sont des données textuelles modifiables et riches
- convertissez-les avec
to_symetto_s :a == "a"renvoie faux
Ensuite : créer et lire des hachages.
config = { mode: :fast }
puts config[:mode]Questions Fréquemment Posées
La leçon « Symboles ou chaînes » est-elle gratuite ?
Oui — le texte complet de « Symboles ou chaînes » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Ruby Academy, passe à CoddyKit PRO. Le cours Ruby Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Symboles ou chaînes » ?
Quand utiliser des symboles Tu pratiques Ruby Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Ruby Academy ?
Aucune expérience préalable n'est requise. Ruby Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Symboles ou chaînes » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Ruby Academy ?
Oui. Chaque leçon Ruby Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Symboles ou chaînes
- Créer et lire des hachages
- Parcourir un hachage
- Valeurs par défaut et fusion