Bien que Ruby ne fournit aucun support explicite pour les tableaux multidimensionnels , vous pouvez mettre en œuvre un vous-même si vous avez une connaissance de base de la langue. Vous devez , en substance, créer un " tableau de tableaux », dans lequel chaque élément du tableau contient encore un autre tableau. Pour créer un tel tableau multidimensionnel en Ruby , vous pouvez écrire une méthode utilisée pour générer les tableaux de tableaux afin que le code n'a pas besoin d' être répété. Instructions
créer un tableau multidimensionnel dans Ruby
1
Ecrire le squelette de la méthode. Cette méthode permet de prendre un certain nombre d'arguments de dimension et de retourner un tableau multidimensionnel vide de ces dimensions . Par exemple, pour une matrice 10x10, appeler cette méthode MDA (10,10) : . Def mda ( largeur, hauteur) fin
2
Créer un ensemble d'éléments de largeur
3
Créer un ensemble d'éléments de hauteur pour chaque élément du tableau . Cela rend le " tableau de tableaux " qui seront utilisés comme un tableau à deux dimensions . Pour créer des tableaux vides d'une longueur spécifique , utilisez le constructeur Array.new avec la longueur comme argument. Initialement, toutes les valeurs dans le tableau sera nulle.
4
Utilisez la carte! Procédé bien . La carte! Procédé parcourt chaque élément d'un tableau , exécute un bloc pour chacun et affecte le résultat du bloc de l'élément de tableau . Le même résultat peut être obtenu en utilisant une boucle , mais la carte ! méthode est plus concis : def mda (largeur, hauteur ) a = Array.new (largeur) a.map ! { Array.new ( hauteur ) } return AEND
5
Utilisez ce tableau avec l'indice ( entre crochets [] ) opérateur. Par exemple, si vous aviez un tableau 10x10 appelé "a" et je voulais l'élément 7,3 , vous diriez un [7 ] [3] : a = mda (10,10) # Remplir le tableau avec valeursDates [7] [ ,"5] = " une chaîne" a [2 ] [9] = 23 # Récupérer valuesputs un [7 ] [5] met un [2 ] [9]
6
Profitez de la possibilité d' méthode «chaîne» appelle à Ruby. Par exemple, la méthode Array.new retourne un tableau . Vous pouvez enchaîner un autre appel de méthode sur que d'appeler une méthode sur le tableau retourné. Puisque vous êtes le chaînage des méthodes , et non pas en utilisant une instruction de retour, vous n'avez pas besoin du nom de la variable soit : def mda ( largeur, hauteur) Array.new (largeur) carte { Array.new ( hauteur ) } end . ! Photos