J'ai tapé ceci dans le clojure Repl (à l'aide du plug-in CLOJURE NETBEANS):
user=> "hello, world" "hello, world" nil
4 Réponses :
Je pense que c'est la valeur de retour de votre expression. C'est le cas dans Ruby avec la méthode des puts. P>
L'expression est un littéral à chaîne et la valeur de retour est la chaîne.
Il ne le fait pas pour moi sur Clojure 1.0.0 - P>
$ java -cp clo*.jar clojure.lang.Repl Clojure 1.0.0- user=> "hello, world" "hello, world" user=>
Chaque fonction ou macro appelle renvoie une valeur dans le clojure, même des choses comme donc mais taper une chaîne littérale à la replication doit renvoyer la chaîne elle-même, comme dans digitalRoss '< / a> post. p> Dans le premier cas, le (SLIME et d'autres interfaces de replement seront utiles de la sortie standard-standard (le C'est ce que vous devriez voir sur un repl. Ce que vous avez posté doit être un artefact d'enclojure. P> p> si code> instructions ou des constructions de boucle ou des définitions de fonction de toplevel ou des énoncés d'impression, qui sont des "déclarations". Il n'y a pas de dichotomie de déclaration / expression dans Lisps; tout est une expression. println code> et amis imprimés à la sortie standard-sortie en tant qu'effet secondaire et retourner nil code>, comme le font la plupart des fonctions qui n'ont rien utile de revenir. p> Hello World code> La ligne est ce qui a été imprimé à la sortie standard par println < / code>. nil code> est la valeur renvoyée de println code>. Dans le second cas, "Hello World" code> est la valeur renvoyée de "Hello World" code> puisque une chaîne est évaluée à elle-même. Rien n'est imprimé à la sortie standard dans ce cas. P> Hello World code> ligne ci-dessus) différemment de la valeur renvoyée de la valeur renvoyée. de ce que vous avez saisi sur la Réponse ( nil code> ci-dessus), car cela pourrait être déroutant autrement.) P>
Très utile. Merci. Je me demande s'il y a un problème avec mon installation d'enclosjure ou si vous le souhaitez, comme vous le dites, un artefact attendu d'enclojure. Je me demande également quels autres "artefacts" que je peux rencontrer si je continue à utiliser des enclosjures.
Il existe des bugs récents liés à l'interprétation de la séquence finale de la CRLF en tant que deux expressions différentes sous Windows. La valeur de retour d'une chaîne de clojure devrait être la chaîne sa seule. p>