2015-10-09 1 views
-1

Quand je mets ce qui suit dans .robomongorc.js:Pourquoi robomongo ne traite-t-il pas une fonction anonyme immédiatement exécutable dans .robomongorc.js?

function doStuff() { return "hi"; } 

Alors je peux trouver doStuff via autocomplétion et faire quelque chose comme

print(doStuff()) 

qui me dit que la fonction a chargé avec succès. Cependant, cela ne fonctionne pas quand je mets ce qui suit dans .robomongorc.js

(function(){ 
    function doStuff(){ return "hi"!;} 
})(); 

J'essaie actuellement de charger la bibliothèque de underscore (qui charge également via une fonction anonyme exécuter immédiatement) dans robomongo et je Je pense que c'est ce qui m'empêche de le faire. Des idées?

+0

Remarque: Pour les personnes qui copient-collent votre fonction DoStuff, vous devez corriger la faute de frappe (point d'exclamation égaré). Sinon, le chargement du fichier .robomongorc.js échoue silencieusement. – hazard

+0

J'ai corrigé la faute de frappe mentionnée ci-dessus –

Répondre

0

Réalisé J'étais stupide. La réponse est que la fonction doStuff est cachée dans la fermeture créée par la fonction anonyme. Par conséquent, DoStuff n'est pas accessible globalement.