2

Clojure の探索 - 私はClojure For The Brave And Trueに取り組んでいます。Hello World を作成しました (この場合、私は小さなティーポットです)。本が示唆するように、lein replから実行できます。

この本の著者は、emacs の大ファンのようです。私はIntellij Ideaに慣れているので、 Cursiveプラグインをインストールしました。そして私は・・・それから私は:

  1. Cursive サイトに示されているように、repl の「ランナー」をセットアップします。
  2. 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 からのコメントのおかげで、何をすべきかを理解することができました。答えは次のとおりです。

  1. 下のペインに (clojure-noob.core/-main) と入力します
  2. 閉じ括弧の右側にカーソルを置きます
  3. 入力を押します。

これにより、次の結果が得られました。

(clojure-noob.core/-main)
I'm a little teapot!
=> nil

それは初心者の質問だと言いました!

4

1 に答える 1