Ruby à l'Aide de each_slice.to_a
Je suis en train de diviser un tableau en paires de tableaux.
Par exemple: ["A","B","C","D"]
devrait devenir [["A","B"],["C","D"]
.
Je crois que j'ai réussi en faisant arg.each_slice(2).to_a
.
Mais si je puis faire arg.length
sur le nouveau tableau, je reçois toujours 4.
Je m'attends à obtenir 2 (dans l'exemple ci-dessus).
En fin de compte, je veux être en mesure d'appeler le premier élément de arg
être ["A","B"]
mais pour le moment, je suis encore en train "A"
.
Quel était exactement le code que vous utilisez?
[1, 2, 3, 4].each_slice(2).to_a.length
me met 2 à l'arrière. Êtes-vous en réaffectant les valeurs?OriginalL'auteur Jglstewart | 2012-05-29
Vous devez vous connecter pour publier un commentaire.
Vous attendez peut-être que
array.each_slice(2).to_a
va changer votre originalarray
, mais ici, vous aurez de nouveauxArray
l'objet, careach_slice
est la méthode non-destructive, comme la plupart des rubis.Ravi de vous aider. Pourriez-vous accepter de répondre, s'il a été utile?
Ce serait génial si vous pouviez mettre un peu de la réponse dans la question comme une modification. Cette a ~700 points de vue et est assez déroutant, tel qu'il est.
OriginalL'auteur Flexoid
essayer
En ruby méthodes de changer l'état de il des cas a généralement
!
à la fin. Par exempleOriginalL'auteur alexkv
Essayer cette
=> ["A", "B"]
fonctionne très bien
OriginalL'auteur Jakub Oboza