[RUBY] [Pour les super débutants] Les connaissances minimales que vous voulez garder à l'esprit avec les hachages et les symboles

Différence entre tableau et hachage

Un tableau est une collection de plusieurs éléments d'information qui ont la même signification, et un hachage est une collection de plusieurs éléments d'informations connexes.

hacher

variable= {Clé 1=>Valeur 1,Clé 2=>Valeur 2,Clé 3=>Valeur 3}

-Puisque les valeurs avec différentes significations peuvent être combinées en une seule, elle est utilisée lors de la gestion de plusieurs valeurs associées. -A un ensemble de "données" et le "nom" correspondant en tant qu'élément ・ Dans le hachage, les données sont appelées valeur et le nom est appelé clé.

#Si vous utilisez une chaîne comme clé pour le hachage
hash1 = { "name" => "nick", "age" => 30, "country" => "UK" }

symbole

・ Qu'est-ce qui est utilisé comme valeur numérique pour la clé de hachage ・ Bien qu'il ressemble à une chaîne de caractères, le contenu réel est une valeur numérique. ・ Il existe deux types d'écriture, mais la situation réelle est la même pour les deux. ・ Hash3 est le plus simple et le plus souvent utilisé

#Lors de l'utilisation d'un symbole comme clé du hachage
hash2 = { :name => "nick", :age => 30, :country => "UK" }
hash3 = { name: "nick", age: 30, country: "UK" }

⚠️ Les ordinateurs traitent les nombres plus rapidement que les chaînes Les symboles sont plus couramment utilisés


Jusqu'ici, la partie super basique est claire! !! C'est une bonne idée de s'habituer au hachage écrit avec des symboles, mais assurez-vous de le comprendre avant de l'utiliser. Ensuite, je voudrais expliquer comment ajouter un hachage et obtenir la valeur d'un double hachage! Si vous souhaitez absorber un peu plus de connaissances, veuillez consulter la suite.


Ajouter un élément au hachage


teacher = { name: "nick"}
teacher[:age] = 30 #hacher[Clé à ajouter] =valeur

puts teacher

#Résultat de sortie
# {:name=>"nick", :age=>30}

Changer la valeur de hachage


teacher = { name: "nick", age: 30}
teacher[:name] = "john" #hacher[Clé de la valeur que vous souhaitez modifier] =valeur

puts teacher

#Résultat de sortie
# {:name=>"john", :age=>30}

Obtenez la valeur du hachage


teacher = { name: "nick", age: 30}
puts teacher[:name] #hacher[Clé de la valeur que vous souhaitez obtenir]

#Résultat de sortie
# nick

Obtenez la valeur du double hachage

#Professeur variable_data → Avoir plusieurs informations sous forme de hachages dans le tableau
#teacher_Obtenir des données de nom à partir de données

teacher_data = [
  {
    teacher: {
      profile: {
        name: "nick"
      }
    }
  },
  {
    teacher: {
      profile: {
        name: "john"
      }
    }
  },
  {
    teacher: {
      profile: {
        name: "mac"
      }
    }
  }
]

teacher_data.each do |t|
  puts t[:teacher][:profile][:name]
end

#Résultat de sortie
# nick
# john
# mac

[Explication] L'argument de bloc t utilise t de données_enseignant. Après les put, concaténez le hachage [clé que vous voulez obtenir] aux données que vous voulez obtenir (nom dans ce cas).


Je vous remercie pour votre travail acharné! !! C'est tout pour des connaissances de base sur les hachages et les symboles! Si vous ne comprenez pas les bases, vous aurez des ennuis plus tard, alors j'espère que vous en profiterez pour approfondir votre compréhension. N'hésitez pas à nous faire savoir si vous avez des questions ou des préoccupations! Alors merci.

référence

・ Htps: // Quiita. Ce m / Ryosuke te r / te ms / 257d672 eh b83210b5f8dc

Recommended Posts

[Pour les super débutants] Les connaissances minimales que vous voulez garder à l'esprit avec les hachages et les symboles
[Pour les débutants] Exemple minimum pour mettre à jour RecyclerView avec DiffUtils en Java
Si vous souhaitez simuler une méthode dans RSpec, vous devez utiliser la méthode allow pour mock et la méthode singleton.
(Pour les super débutants) Getter / setter et propriété pour penser en langage D
[Pour les débutants] Je souhaite saisir automatiquement des données pré-enregistrées dans le formulaire de saisie avec une commande de sélection.
[Pour les débutants] DI ~ Les bases de DI et DI au printemps ~
[Pour les débutants] Exemple minimum pour afficher RecyclerView en Java
Lorsque vous souhaitez écrire explicitement OR ou AND avec ransack
docker-compose.yml lorsque vous voulez garder mysql en cours d'exécution avec docker
Comment écrire lorsque vous souhaitez conserver les sauts de ligne et la sortie tout en évitant XSS dans Rails
Je veux revenir à l'écran précédent avec kotlin et java!
L'histoire de Collectors.groupingBy que je veux garder pour la postérité
Si vous souhaitez inclure la classe parente dans @builder de Lombok
[Astuces] Comment résoudre les problèmes avec XCode et Swift pour les débutants
[Java] Je veux effectuer distinctement avec la clé dans l'objet
La première chose à faire lorsque vous voulez être satisfait d'Heroku sur GitHub avec Eclipse sur Java
[Pour les débutants] Lorsque vous voulez dire que l'option JVM (-D) ne fonctionne pas avec la commande java -jar, ou que la bibliothèque est boguée.
Attendez que PostgreSQL démarre avec Docker, puis démarrez le service WEB
Liste de réglages de Glassfish que je souhaite conserver pour le moment
Points à prendre en compte lors de la combinaison d'instructions if et d'opérateurs logiques
Points à garder à l'esprit lors de l'utilisation d'Apache PDFBox® avec AWS Lambda
Trouvez le maximum et le minimum des cinq nombres saisis en Java
[Rails] Articles pour les débutants pour organiser et comprendre le flux de form_with
Je veux que vous utilisiez Enum # name () pour la clé de SharedPreference
Résumé des hachages et symboles dans Ruby
[Java Bronze] 5 problèmes à garder à l'esprit
[Pour les débutants] Comment déboguer avec Eclipse
Si vous souhaitez satisfaire la couverture de test des méthodes privées dans JUnit
Obtenez des informations vidéo YouTube avec Retrofit et conservez-les dans l'application Android.
Vous pouvez ne pas vouloir utiliser la méthode remove sur ArrayList très souvent
Si vous utilisez Android Room et que vous souhaitez modifier la définition de colonne
Je veux que vous utilisiez Scala comme meilleur Java pour le moment
Code utilisé lorsque vous souhaitez traiter Json avec uniquement des bibliothèques standard en Java (version améliorée) gson inutile
[Pas de virgule (,) dans l'adresse! ] Points à garder à l'esprit lors de la demande d'examen à Pearson VUE