书中一些例子直接在cider-repl中敲入并不能得到想要的结果,形成文件,存入programming-clojure-2nd项目中。
6.4 Datatypes中(gulp vault) p155
-
6.3 Protocols最后的示例代码存入 io.clj, 跟书上略有区别的是,为了与 cryptovault-complete.clj 中的examples.protocols.io保持一致,将examples.io改成examples.protocols.io
-
6.4 Datatypes最后部分,从p155的
src/examples/cryptovault-complete.clj开始的代码存入 cryptovault-complete.clj, 特别注意,为了演示(gulp vault), cryptovault-complete.clj最后几行为: -
这时候,如果emacs在上面两个文件所在的目录,打开cider-repl,导 入cryptovault-complete.clj, 会提示错误: <?prettify?>
user> (clojure.main/load-script "cryptovault-complete.clj") CompilerException java.io.FileNotFoundException: Could not locate examples/protocols/io__init.class or examples/protocols/io.clj on classpath., compiling:(/study/clojure/programming-clojure-2nd/chapter6/cryptovault-complete.clj:1:1) user>
只要将下面这行: <?prettify?>
(clojure.main/load-script "io.clj")
添加到cryptovault-complete.clj的第一行, 问题解决: <?prettify?>
user> (clojure.main/load-script "cryptovault-complete.clj") "This is a test of the CryptoVault" user>