标签: read-eval-print-loop

从REPL中评估Scala中的字符串命令

有没有办法从Scala中评估任意字符串,就好像直接在Scala REPL中输入相同的文本一样?我的意思是,我想做这样的事情:

scala> eval("val x = 42")

scala> x
res2: Int = 42
Run Code Online (Sandbox Code Playgroud)

由于Scala REPL使用jline接受eval循环中的命令(我相信)然后编译/解释它,因此必须有一种方法来提交任意一行文本.如果有必要,我愿意破解Scala REPL.

scala read-eval-print-loop

4
推荐指数
1
解决办法
1976
查看次数

有关类型实例的详细信息

我是Elm的初学者,作为一名前Haskell程序员,我想知道,如果在Haskell中有类似的方式输入解释器/ REPL:

:i number
Run Code Online (Sandbox Code Playgroud)

所以我知道这在Elm中不起作用,但有些东西与Haskell相同:

:i Num
Run Code Online (Sandbox Code Playgroud)

我想获得有关类型类及其所有实例的详细信息.

此外,在Haskell文档中,有关于基本Haskell类的类型层次结构的可用信息:

https://www.haskell.org/onlinereport/basic.html

这样的东西也可以用于榆树吗?

提前致谢.

types functional-programming read-eval-print-loop elm

4
推荐指数
1
解决办法
148
查看次数

如何定义类型在Julia REPL上的显示方式

我不清楚如何在Julia REPL上定义类型的外观.有许多类似的声音功能,包括:显示,显示,打印,写作等.

read-eval-print-loop julia

4
推荐指数
1
解决办法
96
查看次数

如何获取对Emacs Slime中最后返回的对象的引用

使用Emacs Slime,如何访问REPL中最后一个表达式返回的对象或值?

在ipython中,_如果返回值是我所期望的,我可以将它保存在变量中.

Slime有类似的东西吗?

lisp emacs common-lisp slime read-eval-print-loop

4
推荐指数
2
解决办法
273
查看次数

从 REPL 中更改 REPL 提示

我正在尝试使用 REPL 中给出的文本更改 Node 的 REPL 提示。

我最初的尝试是这样的。

import repl from 'repl'

let PROMPT = 'original > '

repl.start({
  ignoreUndefined: true,
  prompt: PROMPT,
  eval: (text, context, filename, callback) => {
    PROMPT = `${text} >`
    return callback()
  }
})
Run Code Online (Sandbox Code Playgroud)

我意识到这行不通,因为在进程开始时设置了 repl 的提示。

我想出了这样的东西,它在输入命令后用新的提示启动一个新的 repl。

import repl from 'repl'

let PROMPT = 'original > '
let REPL = createRepl(PROMPT)

function createRepl (prompt) {
  return repl.start({
    ignoreUndefined: true,
    prompt: PROMPT,
    eval: (text, context, filename, callback) => {
      PROMPT = `${text.replace(/\n/, '')} >`
      REPL.close() …
Run Code Online (Sandbox Code Playgroud)

javascript node.js read-eval-print-loop

4
推荐指数
1
解决办法
582
查看次数

在Julia中更改REPL模块/命名空间

我正在寻找一种在REPL中"输入"模块的方法,这样我就可以无限制地访问所有符号(而不仅仅是导出的符号),并且在REPL中定义的任何函数(re)都可以进入指定的模块.(基本上这是Common Lisp in-package宏的功能.)

这在面向REPL的工作流程中很有用,因为我可以在REPL中编写与我正在开发的模块中相同的代码.

手册推荐了一个工作流程,我对所有内容进行了限定,但这看起来很烦人.

namespaces module read-eval-print-loop julia

4
推荐指数
1
解决办法
166
查看次数

Clojure和ClojureScript REPL产生不同的输出

使用以下递归定义深度优先搜索Clojure(JVM)和ClojureScript(使用浏览器连接的repl和lumo测试)REPL产生两个不同的输出,即打印节点的顺序不同,Clojure REPL产生重复:f.ClojureScript顺序是我期望的行为.为什么是这样?

码:

(defn dfs
  ([g v] (dfs g v #{}))
  ([g v seen]
   (println v)
   (let [seen (conj seen v)]
     (for [n (v g)]
       (if-not (contains? seen n)
         (dfs g n seen))))))

(def graph {:a [:b :c :e]
            :b [:d :f]
            :c [:g]})

(dfs graph :a)
Run Code Online (Sandbox Code Playgroud)

Cloure REPL输出:

:a
:b
:c
:e
:d
:f
:g
:f
;; => ((() ()) (()) (()))
Run Code Online (Sandbox Code Playgroud)

CLojureScript REPL输出:

:a
:b
:d
:f
:c
:g
:e
;; => ((() ()) (()) ())
Run Code Online (Sandbox Code Playgroud)

clojure depth-first-search read-eval-print-loop clojurescript

4
推荐指数
1
解决办法
132
查看次数

Clojure CLI 清屏

对不起,我刚刚开始学习clojure。我在 REPL CLI 中运行了很多命令。但现在我无法清除 CLI 屏幕。cls 命令在 REPL 中也不起作用。提前致谢!

clojure command-line-interface read-eval-print-loop

4
推荐指数
1
解决办法
1051
查看次数

从交互式命令行会话中保存 nodejs 历史记录

使用后node的互动/命令行模式的探索,我怎么能我的命令历史记录复制到一个文本文件,为自己未来的记录?

向上箭头键会调用之前的node语句,而且已经在登录之间保持不变,因此历史记录已经保存在 node.js 中的某处。但是它保存在哪里呢?我怎样才能复制它?

但我什么也找不到 node --help

node.js read-eval-print-loop

4
推荐指数
1
解决办法
404
查看次数

Julia:找出是从 REPL 还是命令行运行

有没有办法确定 julia 脚本myprog.jl是通过命令行调用的julia myprog.jl还是通过 REPL调用的include("myprog.jl")

背景:我正在使用ArgParse.jl包,因为我无法从 REPL 传递命令行参数,所以我只想ARGS = "argA --optB 1 --flagC"在调用之前设置一个变量include("myprog.jl"),以获得与julia myprog.jl argA --optB 1 --flagC命令行相同的结果。为此,我需要知道程序是从命令行调用还是从 REPL 调用,这样我就可以编写类似

if called_from_repl
    parse_args(split(ARGS),s)
else
    parse_args(s)
end
Run Code Online (Sandbox Code Playgroud)

read-eval-print-loop julia

4
推荐指数
1
解决办法
396
查看次数