Les tableaux en Ruby: Prendre vs Limite par rapport au Premier

Supposons que vous avez un tableau d'objets dans les Rails @objects

Si je veux afficher les 5 premiers objets, quelle est la différence entre l'utilisation:

  1. @objects.limit(5)
  2. @objects.take(5)
  3. @objects.first(5)

Je parle de l'extrémité avant (Ruby), PAS SQL. La raison pour laquelle les objets ne sont pas limitées dans le SQL est parce que le même tableau peut être utilisé ailleurs sans l'application d'une limite à cela.

N'ont rien à voir avec l'instanciation d'objets?

  • Êtes-vous sûr que @objets est un Tableau? Je n'ai jamais entendu parler d'un #limite de la méthode. #tout d'abord est une méthode standard pour retourner le premier élément. #prendre est également une méthode.
  • Oui @objects est un tableau. J'ai appliqué la #limit méthode et il semblait avoir effectué la même tâche que #take et #first. (Dans la vue de ne pas le contrôleur).
  • n'est probablement pas un tableau mais un ActiveRecord relation. C'est pourquoi l'utilisation de la limite de(5) est de travail.
  • Merci! @LarryMcKenzie
InformationsquelleAutor Prem | 2013-05-15