-2
votes

Comment obtenir Hash dans une liste de matrices donnée à Ruby?

ma question de rubis est dans une matrice donnée de chaînes non vides, créez et renvoyez un hachage comme suit: Pour chaque chaîne, ajoutez son premier caractère en tant que clé avec son dernier caractère en tant que valeur dans la méthode de DEFN

syntax error, unexpected tIDENTIFIER, expecting keyword_end
...final_hash[] = puts var[0] puts var[-1]
...                           ^~


4 commentaires

erreur vous dit clairement que vous avez oublié fin à la fin de votre méthode


final_hash [] = place var [0] met var [-1] pourquoi vous avez met ici?


Lorsque vous posez des questions, vous souhaitez généralement ajouter la sortie attendue de la méthode de l'exemple que vous avez fourni :)


C'est une question trop basse. Vous avez manqué beaucoup de base, je voudrais donc vous suggérer de passer à nouveau de manière basique et de ne pas exécuter ces sujets rapidement sans donner d'essai pratique.


3 Réponses :


0
votes

Vous avez oublié d'ajouter fin à la fermeture de la méthode.


0 commentaires

1
votes

En regardant votre code:

arry = [ "code", "bug"]

def pairs1(arry)
  arry.each_with_object({}) { |element,hash| hash[element[0]] = element[-1] }
end

pairs1(arry)
# => {"c"=>"e", "b"=>"g"}


0 commentaires

0
votes

Vous pouvez utiliser la méthode injecter . Et pour la lisibilité, je préfère charts.first et charts.last xxx


2 commentaires

Si vous utilisez chacun_with_object , vous pouvez perdre la note :) En outre, quel est le succès de la performance de la conversion à un tableau et d'attraper d'abord / en dernier par opposition à ces droits chaîne? Ne me trompez pas, c'est une bonne réponse, juste quelques choses qui me sautaient.


Je ne pense pas que ce soit une bonne question du tout, cela peut aider quelqu'un) et vous avez raison, Chars.First n'est pas bon pour la performance) comme option.