Supprimer nul et vierge chaîne dans un tableau en Ruby

Je suis nouveau sur le Rubis et bloqué avec ce problème. Disons que j'ai un tableau comme ceci:

arr = [1, 2, 's', nil, '', 'd']

et je veux enlever nul et vierge de la chaîne d'elle, c'est à dire tableau final devrait être:

arr = [1, 2, 's', 'd']

J'ai essayé compact mais ça donne ça:

arr.compact!
arr #=> [1, 2, 's', '', 'd'] doesn't remove empty string.

Je me demandais si il y a une façon intelligente de le faire en Ruby.

  • Je l'ai vérifié, il n'a pas de néant, comment voulez-vous retirer de néant et le vide de la chaîne en même temps. Comment est-il double?
  • vide? retourne true pour tous les deux nuls et " (ainsi que d'autres choses comme '/n'). Docs lien
  • Oui, blank? fonctionne mais n'est pas disponible dans la plaine de Ruby. Il est livré avec des Rails.
  • Abraham, c'est dans les Rails pas en Ruby.
  • Juste assez, je vais supprimer le doublon.
  • Pourquoi downvote? les gens devraient au moins donner une explication d'un downvote, est-ce ainsi que l'aide à la communauté de nouvelles personnes?
  • compact renvoie nouveau tableau, mais laisser le premier tableau, tel qu'il est, avec nil à l'intérieur). compact! changements de tableau existant et la retourne (si il n'y aura pas nil elle renvoie nil). ruby-doc.org/core-2.0.0/Array.html#method-i-compact
  • Je l'ai lu, la seule question était de supprimer les chaînes vides et je ne sais pas pour les autres activités mentionnées dans les réponses. Ma question était claire, je pense, n'ont aucune idée de pourquoi les gens vont downvote pour aucune raison, sans expliquer quoi que ce soit.
  • Je ne comprends pas les downvotes soit. Ce n'est pas un doublon (qui l'OMI n'est jamais une raison de downvote de toute façon), la question est clairement indiqué et il est clair que vous avez essayé de trouver votre propre solution.
  • vide ne fonctionne pas en Ruby, j'espère que vous le savez. 🙂
  • J'ai corrigé cette injustice pour vous. Et oui, je suis d'accord que ce serait bien si les gens vont expliquer leur downvotes.
  • Je vais donner les débutants peu de temps pour respirer.
  • merci 🙂
  • Pourquoi cette question marqué comme un double? C'est clairement pas un doublon de la question référencés.

InformationsquelleAutor | 2014-09-30