J'ai deux tableaux: et je veux une sortie comme: p> maintenant, comme il est important que chacun Item in Array mais je reçois cette erreur: p> que je trouve plutôt étrange, car le hachage à cette position n'est pas vide. p> Si j'imprime tout le contenu de la matrice à cette position, il fonctionne, par exemple: p> qui donne: p> mais je ne peux pas spécifier une clé à l'intérieur du hachage pour imprimer le contenu de? Quoi de neuf avec ça? P> p> B code> est aligné sur l'ordre des valeurs dans le tableau A code>, j'ai décidé d'écrire un chaque_with_index code> de la boucle afin que je puisse être capable Pour extraire des données à la position souhaitée du tableau B code>: p>
3 Réponses :
Vous n'avez pas besoin a code> tableau
Fwiw, with_index code> accepte un argument d'index de démarrage. .with_index (1) Code> permet d'éviter NASTY # {index + 1 code>.
@Sergiotulentsev C'est pourquoi il a une ouverture "FWIW" :) s'avère que je ne peux plus faire de rubis, il fait tomber littéralement. La langue est si stupide :-p
Essayez en suivant:
output = a.map.with_index do |a_value, i|
"#{a_value}. #{b[i][:item]} #{b[i][:quantity]}"
end.join(' ')
puts output
Ce n'est pas différent de ce qu'ils font.
Mais je ne peux pas spécifier une clé à l'intérieur du hachage pour imprimer le contenu de? Quoi de neuf avec ça? P> blockQuote>
Cela n'a pas de sens, bien sûr. Si vous avez un hash, vous pouvez obtenir ses clés / valeurs. Le problème ici est que vous ne em> avez-vous un hash. Au lieu de cela, l'un de vos
b [i] code> est nul (qui déclenche l'erreur). P>Vérifiez-le en les imprimant avec
p b [i] code> au lieu demet B [i] code>. p>.
Non, a mis à jour le code dans ma question
Do
p b [i] code> au lieu deputs b [i] code>. Un de vos hatupes est nul (quand vous pensez que ce n'est pas)Ah, c'était la question, poster cela comme une réponse et je vais l'accepter!
@bork quoi que ce dernier exemple avec
met B [i] code> - Comment cela pourrait-il fonctionner éventuellement si l'un des hachages est en faitnil code>?