Python语言有一个众所周知的名为interactive mode的功能,其中解释器可以直接从tty读取命令 我通常使用此模式来测试给定模块是否在类路径中,或者测试一些片段。
您知道其他任何具有交互模式的编程语言吗?
如果可以,请提供语言名称,并在可能的情况下提供网络参考 如果已经提到过,你可以投票支持它。
答案 0 :(得分:25)
大多数(所有?)lisps(包括常见的lisp,scheme和clojure),sml,ocaml,haskell,F#,erlang,scala,ruby,python,lua,groovy,prolog。
答案 1 :(得分:5)
bash / tcsh / csh / ksh /...
它们都是编程语言并且有CLI:)
答案 2 :(得分:5)
正如已经指出的那样,许多语言可以交互使用,尽管它们的使用方式有多么不同。我最熟悉的交互式环境,以及我所发现的最适合所有交互式编程的自由环境的环境(不是我已经尝试过的)是Slime,一种emacs的模式允许与正在运行的Common Lisp交互,也可以与Clojure一起使用,Clojure是JVM的Lisp。
如果Lisp不是你的一杯茶,那么各种Smalltalk环境都值得一提。许多Smalltalk系统的一个有趣的事情是它们几乎暴露了在编程环境中实现系统的所有代码 - 如果你想要你可以在使用它时浏览甚至重写部分编程环境,就像你一样会写新代码。实际上,提供给您的系统与您编写的代码之间的界限非常模糊。 Squeak是一个有趣的免费Smalltalk,而Cincom提供了商业Smalltalk的评估版本,这是一个很好的环境恕我直言。
无论如何,如果你对使用交互式环境感兴趣,你可能会比使用这两种环境更糟糕,但当然还有很多其他系统允许在某种程度上进行交互式编程。
答案 3 :(得分:5)
答案 4 :(得分:5)
答案 5 :(得分:5)
Tcl / tk有一个。从第一天起就一直在那里。这不是Python独有的功能。
答案 6 :(得分:3)
Lisp和Scheme具有交互模式。
答案 7 :(得分:3)
C ++。
答案 8 :(得分:2)
Ruby有irb
,它是一个交互式解释器,而Ruby与Python非常相似。
答案 9 :(得分:2)
Perl - 有趣的是,在此之前有很多答案
答案 10 :(得分:1)
C#有一个。
答案 11 :(得分:1)
Prolog也有一个
答案 12 :(得分:1)
FORTH立刻想到了。
APL也是如此。
我记得很久以前在SDS-930(我想)上看到了一个互动的FORTRAN实现。
答案 13 :(得分:1)
您可以使用LINQPad
进行几乎交互式的C#和VB.NET答案 14 :(得分:1)
徽标编程语言。
某些实现非常具有交互性,有些人甚至不使用任何其他模式。
答案 15 :(得分:1)
也有repl for C。
答案 16 :(得分:1)
R统计程序;)
答案 17 :(得分:1)
VIC20和C64的基础
答案 18 :(得分:1)
任何解释性语言最有可能都有。
答案 19 :(得分:1)
即便是Java也有一个!
它被称为Beanshell:http://www.beanshell.org/
答案 20 :(得分:1)
哦,我忘记了BASIC的一个:)
答案 21 :(得分:1)
Lua也有互动模式。
答案 22 :(得分:1)
如果您没有指定要运行的文件名,大多数脚本语言将从stdin读取并执行在控制台上键入的代码。 Php和perl都会这样做。
Ruby有irb。
Lua有一个更正式的交互模式,比如python,它会在提示符下显示代码的缩进级别。这非常有用,因为lua通常用作嵌入式脚本语言,而且您不必运行完整的应用程序来测试代码片段。
答案 23 :(得分:1)
我想其中一个是LISP。 试试clisp
答案 24 :(得分:1)
Ruby 有它..还有 Groovy 有它(允许你有效地测试 Java 代码)。
答案 25 :(得分:0)
Visual Basic .NET具有交互模式。
答案 26 :(得分:0)
Scala有REPL。
Scala解释器(通常称为读取 - 评估 - 打印的REPL Loop)坐落在一个不寻常的设计空间 - 一个互动的解释器 一种静态类型的语言横跨历史上的两个世界 已经很明显了。在版本2.8中,REPL进一步利用了 独特的可能性。
答案 27 :(得分:0)
Windows PowerShell:http://en.wikipedia.org/wiki/Windows_PowerShell
答案 28 :(得分:0)
Boo是Python和C#之间的良好中间点 - 类型推理和程序兼容的编程,兼容.Net,以及编译到CLR程序集和.EXE的能力。
答案 29 :(得分:0)
答案 30 :(得分:0)
正如它的名字一样,以科学为导向的专有Interactive Data Language(通常只是称为IDL,但为了避免与其他IDL混淆而在这里拼写)具有许多用户的交互模式比他们在其中编程更频繁地使用。