Créer un tableau avec une taille fixe et remplir le contenu par défaut avec un autre tableau?
Je veux créer un tableau de taille fixe avec une valeur par défaut nombre d'éléments déjà remplie à partir d'un autre tableau, donc disons que j'ai de cette méthode:
def fixed_array(size, other)
array = Array.new(size)
other.each_with_index { |x, i| array[i] = x }
array
end
Alors je peux utiliser la méthode comme:
fixed_array(5, [1, 2, 3])
Et j'aurai
[1, 2, 3, nil, nil]
Est-il un moyen plus facile de le faire en ruby? Comme l'expansion de la taille actuelle du tableau j'ai déjà à néant les objets?
source d'informationauteur rorra
Vous devez vous connecter pour publier un commentaire.
Oui, vous pouvez étendre votre tableau en paramètre le dernier élément via
Array#[]=
:Une méthode pourrait ressembler à ceci:
Noter que ceci va modifier le tableau transmis.
Ou
Ou
Ou
Vous pouvez également effectuer les opérations suivantes:
(en supposant que
other = [1,2,3]
)si l'autre est [], vous obtenez
Similaire à la réponse par @xaxxon, mais encore plus courte:
ou
cette réponse utilise le
fill
méthode