标签: read-eval-print-loop

如何在Scala REPL中访问最后的结果?

在python REPL中我可以做以下事情:

>>> [1,2,3,4]
[1, 2, 3, 4]
>>> sum(_)
10
Run Code Online (Sandbox Code Playgroud)

在clojure REPL中,我可以这样做:

user=> "Hello!"
"Hello!"

user=> *1
"Hello!"
Run Code Online (Sandbox Code Playgroud)

Scala REPL中有类似的东西吗?

scala clojure read-eval-print-loop

17
推荐指数
2
解决办法
1625
查看次数

node.js - 评估实时进程

有没有人使用现有的node.js REPL为自己设置这样的东西?我没想到要快速做到这一点.

我今天这样做的方式是使用emacs和这个:https: //github.com/ivan4th/swank-js

该模块由以下部分组成:

  1. 一个SLIME-js插件到emacs,结合js2-mode,让你只需在函数def的主体中的某个地方发出一个CMx,然后关闭函数的字符串到...

  2. 用Node.js编写的Swank-js服务器(是的,您可以从本地计算机直接评估到远程进程) - 它接收您评估的函数的字符串并实际上将其删除

  3. 整个部分允许您使用浏览器连接到该服务器上的另一个端口,然后让您在该浏览器上操作DOM(这非常了不起但不相关)

我的解决方案在emacs端使用SLIME-js我需要('swank-js')在我的app.js文件上

现在..我有几个关于我的解决方案或其他可能的问题和问题:

Q1:这有点过头了吗?有人有秘密的方式来评估从纳米到他的实时过程的东西吗?

Q2:我不得不改变swank-js评估的方式..它使用了某种黑魔法:


var Script = process.binding('evals').Script;
var evalcx = Script.runInContext;
....
this.context = Script.createContext();
for (var i in global) this.context[i] = global[i];
this.context.module = module;
this.context.require = require;
...
r = evalcx("CODECODE", this.context, "repl");
Run Code Online (Sandbox Code Playgroud)

据我所知,只是将全局变量复制到新的上下文中,并且在eval上,不会更改原始函数定义 - SOOO ..我只是使用简单的"eval"和IT WORKS.

你对此有何评论?

问题3:为了重新评估函数,它需要是一个GLOBAL函数 - 将所有函数定义都设置为全局(类似clojure)是不好的做法?你认为还有另一种方法吗?

eval swank commonjs node.js read-eval-print-loop

16
推荐指数
1
解决办法
3913
查看次数

流星有REPL吗?

Meteor框架是否附带某种REPL或控制台?如果没有,任何想法如何以引导Meteor环境的方式使用Node.js REPL

我基本上在寻找类似rails控制台或web浏览器中的javascript控制台的东西:一个命令行界面,它使应用程序的完整上下文可用,所以我可以任意检查像Meteor和的对象Template.

node.js read-eval-print-loop meteor

16
推荐指数
2
解决办法
1152
查看次数

php存在"撬"等价物吗?

我在ruby上有点被宠坏了,我习惯使用pry应用程序的惊人设施.我将一个应用程序锁定为1个线程,然后让pry在httpd控制台中弹出,然后能够解决很多问题的底部,但是我没有发现任何类似于PHP的可用内容.是否有类似或接受的解决方案,这样的PHP用于在执行期间调试和跟踪数据结构等?

php debugging xdebug read-eval-print-loop pry

16
推荐指数
1
解决办法
4884
查看次数

15
推荐指数
1
解决办法
6万
查看次数

是否可以构建交互式C shell?

我只是想知道这是否可能使用(Python,Java或C)?我正在寻找类似IPython for Python的东西.

c shell interactive read-eval-print-loop

15
推荐指数
1
解决办法
8721
查看次数

逆时针REPL的最后输入?

是否可以浏览您在Eclipse中输入逆时针REPL的历史?就像按下向上箭头或ctrl-p或其他在其他repl中工作的其他东西一样?谢谢!-Philip

eclipse clojure read-eval-print-loop counterclockwise

15
推荐指数
1
解决办法
1410
查看次数

清除Node.js readline shell中的终端窗口

我有一个用Coffeescript编写的简单readline shell:

rl = require 'readline'
cli = rl.createInterface process.stdin, process.stdout, null
cli.setPrompt "hello> "

cli.on 'line', (line) ->
  console.log line
  cli.prompt()

cli.prompt()
Run Code Online (Sandbox Code Playgroud)

运行此命令会显示提示:

$ coffee cli.coffee 
hello> 
Run Code Online (Sandbox Code Playgroud)

我希望能够点击Ctrl-L清除屏幕.这可能吗?

我也注意到,我不能打Ctrl-L在任一节点咖啡 REPLs无论是.

我在Ubuntu 11.04上运行.

readline node.js coffeescript read-eval-print-loop

15
推荐指数
3
解决办法
1万
查看次数

Scala:如何在repl中安装广泛的软件包系统?

在Python中,如果我安装了一个包pip install package_name,我可以通过键入打开一个Python repl python,只需按名称导入包,无论我目前在文件系统中的目录是什么.

像这样

$ python
Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> 
Run Code Online (Sandbox Code Playgroud)

并且requests导入了库,我可以在repl中使用它.

在Scala中,我知道如何在一个使用的项目中执行此操作sbt,但出于学习目的,我想以这样的方式安装包,以便我只需scala在命令行键入然后导入已安装的包,而不是与特定项目相关联.

$ scala
Welcome to Scala version 2.10.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_40).
Type in expressions to have them evaluated.
Type :help for more information.

scala> import scalaz._
<console>:7: error: not found: value scalaz
       import scalaz._ …
Run Code Online (Sandbox Code Playgroud)

scala packages read-eval-print-loop

15
推荐指数
1
解决办法
5237
查看次数

如果没有它可以防止一堆dylib警告,就无法运行Swift REPL

我刚刚安装了Xcode 8.2并尝试运行Swift REPL.我遇到了以下警告.我该如何解决?请注意,这是与Sierra的全新MBP.Xcode是目前除标准集外安装的极少数应用程序之一.

Welcome to Apple Swift version 3.0.2 (swiftlang-800.0.63 clang-800.0.42.1). Type :help for assistance.
warning: Swift error in module repl_swift.
Debug info from this module will be unavailable in the debugger.

warning: Swift error in module dyld.
Debug info from this module will be unavailable in the debugger.

warning: Swift error in module libz.1.dylib.
Debug info from this module will be unavailable in the debugger.

warning: Swift error in module libedit.3.dylib.
Debug info from this module will be unavailable …
Run Code Online (Sandbox Code Playgroud)

read-eval-print-loop swift xcode8

15
推荐指数
1
解决办法
1784
查看次数