Convertir le contenu d'un tableau de int
J'ai besoin de lire un fichier qui contient une liste de nombres.
Ce code lit le fichier et le met dans un tableau 2d. Maintenant, j'ai besoin d'obtenir la moyenne de tous les nombres dans mon tableau mais j'ai besoin de modifier le contenu du tableau de int. Toutes les idées où mettre la to_i
méthode?
Class Terrain
def initialize file_name
@input = IO.readlines(file_name) #read in file
@size = @input[0].to_i
@land = [@size]
x = 1
while x <= @size
@land << @input[x].split(/\s/)
x += 1
end
#puts @land
end
end
ce qui s'est passé avec votre question précédente? stackoverflow.com/questions/7993821. C'est très similaire, mais vous avez donné il y a pas de retour, pas de commentaires, pas de voix, rien. Des Solutions il y en a montré comment utiliser la carte mais vous gardez à l'aide d'un non-idiomatiques alors que dans cette question.
Pour compléter @tokland du commentaire, il est parfaitement acceptable de demander des précisions dans les commentaires si vous ne comprenez pas la réponse.
Pour compléter @tokland du commentaire, il est parfaitement acceptable de demander des précisions dans les commentaires si vous ne comprenez pas la réponse.
OriginalL'auteur | 2011-11-07
Vous devez vous connecter pour publier un commentaire.
Juste une carte de votre tableau d'entiers:
note de côté
Si vous voulez obtenir la moyenne d'une ligne, vous pouvez effectuer les opérations suivantes:
ou utilisez la commande suivante, comme Marc-André aimablement fait remarquer dans les commentaires:
inject(0.0, :+)
J'étais curieux de connaître le "plus rapide" et fait un rapide benchmark (l'addition d'une 1..1000000 tableau). À l'aide de
:+
est environ 10% plus rapide.OriginalL'auteur Benoit Garret
avez-vous essayé
strip
etto_i
ne fonctionnent pas sur les tableaux.OriginalL'auteur Bhushan Lodha