kzen.dev
  • Questions
  • Tags
  • Utilisateurs
Notifications
Récompenses
Inscription
Une fois inscrit, vous serez informé des réponses et des commentaires à vos questions.
Connectez-vous
Si vous avez déjà un compte, connectez-vous pour vérifier les nouvelles notifications.
Il y aura des récompenses pour les questions, réponses et commentaires ajoutés.
Détails
Source
Editer
 brainfck
brainfck
Question

Comment additionner un tableau de nombres en Ruby ?

J'ai un tableau d'entiers.

Par exemple :

array = [123,321,12389]

Existe-t-il un moyen agréable d'en obtenir la somme ?

Je sais, que

sum = 0
array.each { |a| sum+=a }

fonctionnerait.

551 2009-10-08T16:04:57+00:00 3
 Mab879
Mab879
Question modifiée 22 février 2014 в 3:11
Programmation
ruby
arrays
math
sum
Cette question a 1 réponse en anglais, pour les lire connectez-vous à votre compte.
 jomey
jomey
8 octobre 2009 в 4:28
2009-10-08T16:28:13+00:00
Détails
Source
Editer
#9558862

Ou essayez la méthode Ruby 1.9 :

array.inject(0, :+)

Note : le cas de base 0 est nécessaire sinon nil sera retourné sur les tableaux vides :

> [].inject(:+)
nil
> [].inject(0, :+)
0
David Wolever
David Wolever
Réponse modifiée 2 février 2016 в 7:34
795
0
Solution / Réponse
 zenazn
zenazn
8 octobre 2009 в 4:07
2009-10-08T16:07:04+00:00
Détails
Source
Editer
#9558860

Essayez ça :

array.inject(0){|sum,x| sum + x }

[Voir la documentation Ruby's Enumerable][1]

[1] : https://ruby-doc.org/core/Enumerable.html#method-i-inject

(note : le cas de base 0 est nécessaire pour que 0 soit retourné sur un tableau vide au lieu de nil)

Fernando Briano
Fernando Briano
Réponse modifiée 26 juillet 2019 в 4:51
599
0
Mike Woodhouse
Mike Woodhouse
8 octobre 2009 в 4:49
2009-10-08T16:49:10+00:00
Détails
Source
Editer
#9558863

Sinon (juste pour comparer), si vous avez installé Rails (en fait juste ActiveSupport) :

require 'activesupport'
array.sum
110
0
Ajouter une question
Catégories
Toutes
Technologie
Culture / Loisirs
Vie / Arts
Science
Professionnel
Entreprises
Utilisateurs
Tous
Nouveau
Populaire
1
Ilya Smirnov
Enregistré il y a 6 jours
2
Денис Васьков
Enregistré il y a 1 semaine
3
Dima Patrushev
Enregistré il y a 1 semaine
4
sirojidddin otaboyev
Enregistré il y a 2 semaines
5
Елена Гайдамамакинат
Enregistré il y a 2 semaines
DE
EL
ES
FR
ID
IT
JA
KO
PT
RO
RU
TR
ZH
© kzen.dev 2023
Source
stackoverflow.com
sous licence cc by-sa 3.0 avec l'attribution