你知道还有哪些编程语言像Python一样有交互模式吗?

7
Python语言有一个著名的功能,称为交互模式,其中解释器可以直接从tty读取命令。
我通常使用这种模式来测试给定模块是否在类路径中,或者玩耍和测试一些片段。
你知道还有哪些编程语言具有交互模式吗?
如果可以的话,请给出语言名称和可能的网页参考。
如果已经提到了,您只需要为其投票。

这可能应该是社区维基。 - Pekka
可能吧,但即使不是,说实话也没关系。 - Tor Valamo
社区维基,如您所请求的。 - systempuntoout
5
更容易询问哪些语言没有提供交互模式的实现。 - user97370
@Paul Hankin太晚了 :)!我不知道它是如此“常见”的功能。 - systempuntoout
+1 因为我学会了“repl”这个术语。 - detly
31个回答

26

大部分(可能全部)Lisp方言(包括Common Lisp,Scheme和Clojure),SML,OCaml,Haskell,F#,Erlang,Scala,Ruby,Python,Lua,Groovy,Prolog等编程语言都支持函数式编程。


是的,很棒的列表。除了那个OCaml的。 - p4bl0
相当完整的答案。但是缺少 Prolog 部分。 - Tadeusz A. Kadłubowski
缺少像Rhino或SpiderMonkey这样带有交互式解释器的JavaScript,以及所有当前版本浏览器中的交互式命令行界面。 - bcherry
@p4bl0:如果你说“ocaml one sucks”是指它不允许编辑,那么请使用rlwrap ocaml。更好的方法是在你的shell中设置别名 - 我从不在没有它的情况下使用ocaml。@bcherry:如果你包括交互式解释器,请添加Perl(http://use.perl.org/articles/07/08/30/1729255.shtml)。 - Amadan

5

PHP链接错误。正确链接为:http://www.php.net/。 - Ignacio Vazquez-Abrams
只需运行 php -a,但与Python的shell相比,它很差 - Felix
1
phpsh 还算不错。有趣的是,它是用 Python 编写的。 - intuited

5

bash / tcsh / csh / ksh /...

它们都是编程语言,并且拥有CLI界面 :)


5

Haskell 甚至拥有两个(主流的)交互式解释器,Hugsghci


5
Tcl/tk 有一个这样的功能,自从一开始就一直存在。这不是 Python 独有的特性。

实际上,Tcl交互式解释器最初是作为TclX扩展的一部分引入的。tclsh程序是1993年6月引入的创新... - Donal Fellows
谢谢你的历史课。我从'95年开始使用Tcl,所以我一直以为它一直存在。 - Bryan Oakley

5

正如众所周知的,许多编程语言可以进行交互式使用,不过它们的便利程度因语言而异。我最熟悉的交互式环境是Slime,这是一种适用于Emacs的模式,允许与正在运行的Common Lisp 进行交互,并且也可用于Clojure,这是一种为JVM设计的Lisp语言。在我试用过的所有自由交互式编程环境中,我发现Slime是最友好的之一(当然我没有尝试过所有的环境)。

如果Lisp并非你的菜,那么值得一提的是各种Smalltalk环境。许多Smalltalk系统的有趣之处在于,它们几乎将实现系统的大部分代码暴露给了程序员--如果你想的话,在使用它时可以浏览或甚至重写编程环境的部分内容,就像你编写新代码一样。实际上,系统提供给你的和你正在编写的代码之间界限相当模糊。Squeak是一个有趣的免费Smalltalk环境,Cincom则提供了他们的商业Smalltalk的评估版本,我认为这是一个很好的环境。

总之,如果您有兴趣尝试交互式编程环境,那么玩这两个环境是不错的选择,当然还有很多其他系统可以实现一定程度的交互式编程。


3

Lisp和Scheme都有交互模式。


我也使用过Scheme的这个功能... - AJ.
Lisp 可能是第一个发明这种交互式编程方式的语言。 - Tadeusz A. Kadłubowski

3

1
另外一个:http://root.cern.ch/drupal/content/cint - Mike Dinsdale

2

2

Perl - 有趣的是在这之前有这么多答案


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接