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] ... ^~
3 Réponses :
Vous avez oublié d'ajouter fin code> à la fermeture de la méthode. P>
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"}
Vous pouvez utiliser la méthode injecter code>. Et pour la lisibilité, je préfère charts.first code> et charts.last code>
Si vous utilisez chacun_with_object code>, vous pouvez perdre la note code> code> :) 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.
erreur vous dit clairement que vous avez oublié
fin code> à la fin de votre méthodefinal_hash [] = place var [0] met var [-1] code> pourquoi vous avezmet code> 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.