Clojure の探索 - 私はClojure For The Brave And Trueに取り組んでいます。Hello World を作成しました (この場合、私は小さなティーポットです)。本が示唆するように、lein replから実行できます。
この本の著者は、emacs の大ファンのようです。私はIntellij Ideaに慣れているので、 Cursiveプラグインをインストールしました。そして私は・・・それから私は:
- Cursive サイトに示されているように、repl の「ランナー」をセットアップします。
- hello world を repl にロードしようとしました。そうしたようです。
それで?エディターの内容を読み込んだ後、実行できると思いましたが、方法がわかりませんでした。明らかに、これは非常に初歩的な質問です。
私のエディターのコードは次のとおりです。
(ns clojure-noob.core
(:gen-class))
(defn -main
"I don't do a whole lot ... yet."
[& args]
(println "I'm a little teapot!")
)
repl ウィンドウは 2 つのペインに分かれています。上のペインは、ローカルの nREPL サーバーに接続されていることを示しています。次に、ロードした後、次のように述べています。
Loading src/clojure_noob/core.clj... done
下のペインでは、コメントごとに、run の 2 つのバリエーションを試しましたが、以下に示すようにどちらも悲惨な失敗をしました (関数ではなくrunを呼び出していたため、2 番目の失敗は驚きではありませんでした)。
run -main
CompilerException java.lang.RuntimeException: Unable to resolve symbol: run in this context, compiling:(/tmp/form-init2302589649746976452.clj:1:4481)
=> #object[clojure_noob.core$_main 0x24d21d67 "clojure_noob.core$_main@24d21d67"]
run clojure-noob.core/-main
CompilerException java.lang.RuntimeException: Unable to resolve symbol: run in this context, compiling:(/tmp/form-init2302589649746976452.clj:1:4481)
=> #object[clojure_noob.core$_main 0x24d21d67 "clojure_noob.core$_main@24d21d67"]
ANSWER @Carcigenicate からのコメントのおかげで、何をすべきかを理解することができました。答えは次のとおりです。
- 下のペインに (clojure-noob.core/-main) と入力します
- 閉じ括弧の右側にカーソルを置きます
- 入力を押します。
これにより、次の結果が得られました。
(clojure-noob.core/-main)
I'm a little teapot!
=> nil
それは初心者の質問だと言いました!