J'essaie d'apprendre de rubis à travers les koans, mais je suis coincé à la 6ème étape.
Voici le code: P>
The answers you seek... <"FILL ME IN"> expected but was <NoMethodError>.
11 Réponses :
La réponse ici est "nométhoderror" p>
Vous avez besoin des articles de chaque côté de la, pour être égaux, ce qui les rendra donc à la fois ex.class le fera. P>
Ensuite, vous devrez passer à / __ / ci-dessous. P>
Est-ce que ce genre de triche? Faire un passe de test en faisant simplement un 1 == 1 n'est pas valide, je penserais. J'essaie de répondre à celui-ci aussi
Non, c'est vous demandant quelle erreur vous allez obtenir pour utiliser une méthode qu'un objet ne sait pas. Et parce que Aster égal est tout sur la fabrication de 1 == 1. Nométhoderror doit être égal au nométhoderror.
Je suis seulement sur Koen 83, mais dans la plupart des koens, vous pouvez trouver la "réponse" dans la section intitulée de manière appropriée " les réponses que vous recherchez ... code>" immédiatement après "
<"Remplissez-moi"> attendu mais était code> ". De temps en temps, j'ai cassé le framework rubykoan et je vais obtenir ce graphique Oldie ASCII (je ne suis pas sûr que cela soit censé être des mains en coupe ou un arbre, mais j'espère que vous le savez quand vous le verrez); Dans ces cas, le message d'erreur situé sous le graphique ASCII a été utile. P>
Je devais mettre la déclaration ASSERT_EQUAL dans des parens pour obtenir celui-ci à passer. Doit être un bug.
Lorsque vous remplissez le nométhoderror, vous devez également remplir le message d'erreur (quelque chose à l'effet de "méthode non définie" quelque_methd .. ") Vous devez remplacer tout / __ / avec votre terme non seulement les soulignements p>
Vous devez remplacer __ avec le
Carlo LEDESMA a la bonne réponse. (assert_equal nométhoderror, ex.class)
Je ne sais pas pourquoi la réponse d'Elliot est top notée si quelqu'un vous demande de résoudre l'équation,
2x + 2 = 10 Code>, vous ne répondez pas
2x + 2 = 2x + 2 code>. Mathématiquement tu serais correct, mais ce n'est pas une réponse. P>
Je viens de résoudre celui-ci. Je me suis concentré sur une ligne à la fois, mais cette méthode comprend deux éléments à modifier, une dans la rangée 16, une dans la rangée 20. Les deux sont nécessaires pour passer la leçon. P>
16: 20: espoir que cela aide quelqu'un d'autre qui se coince! p> ASSERT_EQUAL NOMETHODERORROR, EX.CLASS CODE> P>
ASSERT_MATCH (/ * ONE_METHOD_NIL_DOESNT_D_ABOUT * /, ex.Message) CODE> P>
pour la ligne 20 J'ai utilisé ceci: Je pense que l'astuce était que le "quelque_method_nil_doesnt_nknow_about était dans des guillemets simples dans le message, de sorte que c'était la recherche de cela. p> asser_match (/ one_method_nil_doesnt__bout /, ex.message) code> Je ne sais pas ce que ces personnages "/" sont. Je vais devoir le rechercher, mais cela a fonctionné. P>
Votre réponse ne répond pas vraiment à la Q, pouvez-vous modifier votre réponse pour mieux refléter une réponse réelle au Q au lieu du commentaire? Sinon, postez un commentaire (lorsque vous avez les privilèges à le faire).
Si vous supprimez des citations, vous pouvez ajouter un bit du message d'erreur
assert_match(/undefined method/, ex.message)
Vous devez y répondre consécutivement, ce qui signifie à partir de la ligne ligne Nous pouvons voir que la classe elle-même est une "méthode nul qui n'existe pas", ce qui signifie qu'il ne renvoie rien. Donc, pas de point pour obtenir des erreurs. Mais dans Ruby, nous avons une erreur spécifique pour cela, ligne il suffit de remplacer ce message dans profiter; p p> p> p> 16 code>, puis allez sur la ligne
20 code>.
16 code> 16 code> => Étant donné que
asser_equal code> veux 1 = 1, nous devons regarder
__ code> qui est
nil.some_method_nil_doesnt_now_about code> pour être identique à
ex. classe code>. Comme l'indique l'erreur; p>
Nométhoderror code>. La solution est; p>
20 code> => logiquement, si nous obtenons une erreur
code>, nous voulons un message unique pour ça. La réponse elle-même est déjà donnée; p>
/ __ / code>.
Il y a deux réponses ici; p>
Donc, c'est un peu déroutant, mais est en fait les bases de la façon dont les koans travaillent - tout en remplissant Nométhoderror code> est la solution valide ici, donc cela devient
asser_equal nométhoderror, ex.class code > - Il ne "résoudre" pas ces koans spécifiques car la fonction a un autre point à corriger (ligne 20) - seule la résolution de ceux-ci résultera d'un koan à succès # 6 p>