[Résolu][CoffeeScript] Function is not defined - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [Résolu][CoffeeScript] Function is not defined (/showthread.php?tid=5748) |
[Résolu][CoffeeScript] Function is not defined - Maz - 16-10-2011 Bonjour, j'essaie pour la première fois CoffeeScript 2.2.0 avec Ruby on rails 3.1, j'ai donc recodé tout mon script initialement en javascript avec coffeescript, mais j'avais seulement des "undefined function" en retour, j'ai donc essayer:
avec coffeescript. Le javascript final est:
Mais rien n'est exécuter! Ce qui expliques mes undefined function... Pourquoi? Merci d'avance. RE: [CoffeeScript]Rien ne veut s'exécuter. - Sephi-Chan - 16-10-2011 Où est placé de ficher CoffeeScript dans ton arborescence ? Est-ce que le fichier CoffeeScript est chargé dans ton navigateur ? Quels fichiers Javascript inclus-tu dans ton document HTML ? Si tu crées un fichier foo.js.coffee dans app/assets/javascripts (ou dans vendor/assets/javascripts), il ne se passera rien, il devient juste disponible à l'URL /assets/foo.js. Ensuite, deux possibilités : charger ce fichier depuis le HTML (avec javascript_include_tag "application"), ou bien l'inclure dans un package. Quand tu crées une application Rails 3.1, un package application existe déjà. Un package n'est qu'un fichier (en l'occurrence assets/javascripts/application.js) qui référence d'autres fichiers ou packages. C'est grâce à ça que quand tu vas sur l'URL /assets/application.js, tu as un seul fichier avec le code de tous les packages référencés. Maintenant, pour que ton package inclue le contenu de ton nouveau fichier, il faut que tu lui ajoutes une clause require foo. RE: [CoffeeScript]Rien ne veut s'exécuter. - Maz - 16-10-2011 (16-10-2011, 11:54 AM)Sephi-Chan a écrit : Est-ce que le fichier CoffeeScript est chargé dans ton navigateur ? Oui ils sont correctement inclus. Mais j'ai trouvé la solution. En fait je suis toujours sur mon truc en SVG, donc il ne faut pas utiliser javascript_include_tag car il cré une balise: Code : <script type="text/javascript" /> Code : <script type="text/ecmascript" /> Je me suis donc créé un helper adéquat:
Pour ceux que ça à qui ça peut servir. RE: [CoffeeScript] Rien ne veut s'exécuter - Sephi-Chan - 16-10-2011 Ok ! Il aurait été pertinent de donner le contexte dès le début. Il arrive souvent qu'on trouve une solution quand on pose clairement un problème. RE: [Résolu][CoffeeScript] Rien ne s'exécute quand le script est chargé dans un SVG - Maz - 16-10-2011 Finalement ça n'as pas résolu mon soucis -_- j'ai toujours ces undefined function. Mon alert "message" est bien exécuté au chargement du fichier, mais acune de mes fonctions n'est déclaré. J'ai pourtant essayer au plus simple:
RE: [CoffeeScript]Function is not defined - Sephi-Chan - 16-10-2011 C'est parce que CoffeeScript scope tout dans une closure. Pour définir une variable globale, il faut faire :
Lis la documentation des outils que tu utilises !! CoffeeScript, il y a un paragraphe "Lexical Scoping and Variable Safety". D'autant plus quand ça tient sur une foutue page… RE: [CoffeeScript]Function is not defined - Maz - 16-10-2011 (16-10-2011, 01:59 PM)Sephi-Chan a écrit : C'est parce que CoffeeScript scope tout dans une closure. Pour définir une variable globale, il faut faire : Si on devait lire les docs de A à Z avant d'utiliser un outil, je crois que je serais encore en train d'apprendre le HTML :$ J'ai cherché (depuis 12h33 si on se fie à ma dernière réponse). Et je viens juste de tomber sur ceci. RE: [Résolu][CoffeeScript]Function is not defined - Sephi-Chan - 16-10-2011 Prétexte bidon. On sait tous les deux que tu ne lis pas les documentations, même quand elles tiennent sur une malheureuse petite page. Je te l'ai montré avec la plupart de tes questions sur Rails et encore maintenant. Edit : C'est pas un crime, ça s'apprend. Et ma réponse solutionne ton problème de variables non définies, inutile de te compliquer. RE: [Résolu][CoffeeScript]Function is not defined - Maz - 16-10-2011 (16-10-2011, 02:38 PM)Sephi-Chan a écrit : Et ma réponse solutionne ton problème de variables non définies, inutile de te compliquer.Oui, mais je préfère utiliser @mafonction = (parametre) -> instruction. M'enfin, de toute manière maintenant je fait fasse à un autre problème, mais je vais pas en parler, on va dire que j'ai pas lu la doc iffle:. RE: [Résolu][CoffeeScript]Function is not defined - Sephi-Chan - 16-10-2011 (16-10-2011, 02:52 PM)Maz a écrit : M'enfin, de toute manière maintenant je fait fasse à un autre problème, mais je vais pas en parler, on va dire que j'ai pas lu la doc iffle:. Avais-tu lu celle de CoffeeScript ? J'aime beaucoup aider les gens sinon je ne serais pas sur JeuWeb depuis tout ce temps. Seulement, c'est plus sympa d'aider les gens à régler de vrais problèmes, et pas seulement à compenser leur manque d'attention ou leur flemme de lire. |