0Pricing
Ruby Academy · Leçon

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.class

Les 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_id

Pourquoi 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.length

Convertir 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.upcase

Les 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 == b

Les 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).inspect

Quand 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 greeting

Quand 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_sym et to_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

  1. Symboles ou chaînes
  2. Créer et lire des hachages
  3. Parcourir un hachage
  4. Valeurs par défaut et fusion
← Retour à Ruby Academy