gpt4 book ai didi

read-eval-print-loop - 获取 clojurescript REPL 的最简单方法

转载 作者:行者123 更新时间:2023-12-04 08:22:36 26 4
gpt4 key购买 nike

在终端中启动和运行 clojurescript REPL 的最快方法是什么?我不需要连接到浏览器,只需要 REPL 来计算表达式。

文档似乎假设您想要浏览器同步或提供复杂的杂技来获得简单的 REPL。

最佳答案

看看最近发布的 clojurescript/wiki/Quick-Start guide .它确实是有史以来最准系统和最简单的。

基本上(假设您安装了 java 8 和 node.js):

  1. 从这里下载最新的 jar https://github.com/clojure/clojurescript/releases/并将其放入文件夹
  2. 使用此处的说明 https://github.com/clojure/clojurescript/wiki/Quick-Start#nodejs-repl作为灵感:

  3. 创建 node_repl.clj,其中包含包含以下内容的 jar 文件:

    (require 'cljs.repl)
    (require 'cljs.repl.node)

    (cljs.repl/repl (cljs.repl.node/repl-env))
  4. 使用 java -cp cljs.jar clojure.main node_repl.clj 执行。这应该打开 repl,如下所示:

    $ java -cp cljs.jar clojure.main node_repl.clj
    ClojureScript Node.js REPL server listening on 50658
    To quit, type: :cljs/quit
    ClojureScript:cljs.user> (+ 1 2)
    3

如果您想要更高级的 repl,请按照指南中的说明使用 rlwrap (rlwrap java -cp cljs.jar clojure.main node_repl.clj)

再一次,看看快速入门指南,它真的很棒(感谢 Swannodette)


编辑

如果您也想使用 nashorn(java 8 js 虚拟机)或 rhino(较旧的基于 java 的 js 虚拟机),您也可以在没有 node.js 的情况下获得工作 repl,将步骤 3 和 4 替换为以下步骤:

对于 Nashorn

  1. 创建 nashorn_repl.clj,其中包含包含以下内容的 jar 文件:

    (require 'cljs.repl)
    (require 'cljs.repl.nashorn)

    (cljs.repl/repl (cljs.repl.nashorn/repl-env))
  2. 使用 java -cp cljs.jar clojure.main nashorn_repl.clj 执行。这应该打开 repl,如下所示:

    $ java -cp cljs.jar clojure.main nashorn_repl.clj
    To quit, type: :cljs/quit
    ClojureScript:cljs.user> (+ 1 2)
    3

犀牛版

  1. 创建 rhino_repl.clj,其中包含包含以下内容的 jar 文件:

    (require 'cljs.repl)
    (require 'cljs.repl.rhino)

    (cljs.repl/repl (cljs.repl.rhino/repl-env))
  2. 使用 java -cp cljs.jar clojure.main rhino_repl.clj 执行。这应该打开 repl,如下所示:

    $ java -cp cljs.jar clojure.main rhino_repl.clj
    To quit, type: :cljs/quit
    ClojureScript:cljs.user> (+ 1 2)
    3

关于read-eval-print-loop - 获取 clojurescript REPL 的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29123239/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com