在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中有类似的东西吗?
有没有人使用现有的node.js REPL为自己设置这样的东西?我没想到要快速做到这一点.
我今天这样做的方式是使用emacs和这个:https: //github.com/ivan4th/swank-js
该模块由以下部分组成:
一个SLIME-js插件到emacs,结合js2-mode,让你只需在函数def的主体中的某个地方发出一个CMx,然后关闭函数的字符串到...
用Node.js编写的Swank-js服务器(是的,您可以从本地计算机直接评估到远程进程) - 它接收您评估的函数的字符串并实际上将其删除
整个部分允许您使用浏览器连接到该服务器上的另一个端口,然后让您在该浏览器上操作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)是不好的做法?你认为还有另一种方法吗?
Meteor框架是否附带某种REPL或控制台?如果没有,任何想法如何以引导Meteor环境的方式使用Node.js REPL?
我基本上在寻找类似rails控制台或web浏览器中的javascript控制台的东西:一个命令行界面,它使应用程序的完整上下文可用,所以我可以任意检查像Meteor和的对象Template.
我在ruby上有点被宠坏了,我习惯使用pry应用程序的惊人设施.我将一个应用程序锁定为1个线程,然后让pry在httpd控制台中弹出,然后能够解决很多问题的底部,但是我没有发现任何类似于PHP的可用内容.是否有类似或接受的解决方案,这样的PHP用于在执行期间调试和跟踪数据结构等?
我只是想知道这是否可能使用(Python,Java或C)?我正在寻找类似IPython for Python的东西.
是否可以浏览您在Eclipse中输入逆时针REPL的历史?就像按下向上箭头或ctrl-p或其他在其他repl中工作的其他东西一样?谢谢!-Philip
我有一个用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上运行.
在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) 我刚刚安装了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)