2

对于脚本语言,在开发时使用控制台最有效的方法是什么?有没有办法让控制台比仅“编译和运行”的语言更有效率?

补充说明:我更多地考虑 Ruby、Python、Boo 等。用于成熟应用程序的语言,但也有一种在控制台中运行小代码片段的方法。

4

5 回答 5

2

我想更多的是沿着 Ruby 的思路,...

对 Ruby 来说,irb交互式提示是“练习”简单事物的好工具。以下是我将提到的有关 irb 的内容,以便让您了解有效使用:

  • 自动化。您可以.irbrc在启动 irb 时自动执行一个文件。这意味着您可以自动加载您喜欢的库或在完整的 Ruby 中做任何您想做的事情。要了解我的意思,请查看dotfiles.org上的一些内容。

  • 自动补全。这甚至使编写代码更容易。不记得删除换行符的字符串方法了吗? "".ch<tab>产生chomp和chomp。 注意:您必须自己为 irb 启用自动完成功能

  • 分而治之。irb 让小事变得非常容易。如果您正在编写一个操作字符串的函数,那么在提示符中以交互方式测试代码的能力可以节省大量时间!例如,您可以打开 irb 并开始在示例字符串上运行函数,并为您的库/程序准备好工作和测试的代码。

  • 学习、实验和黑客攻击。像这样的东西在 C/C++ 甚至 Java 中测试需要很长时间。如果您尝试一次全部测试它们,您可能会出现段错误并且必须重新开始。

    在这里,我只是在学习该String#[]功能的工作原理。

    joe[~]$ irb
    >> "12341:asdf"[/\d+/]
    # => "12341"  
    >> "12341:asdf"[/\d*/]
    # => "12341"  
    >> "12341:asdf"[0..5]
    # => "12341:"  
    >> "12341:asdf"[0...5]
    # => "12341"  
    >> "12341:asdf"[0, ':']
    TypeError: can't convert String into Integer
      from (irb):5:in `[]'
      from (irb):5
    >> "12341:asdf"[0, 5]
    # => "12341"  
    
  • 测试和基准测试。现在它们很好并且易于执行。 是某人模拟 Unixtime功能以进行快速基准测试的想法。只需将其添加到您的.irbrc文件中,它就会一直存在!

  • 调试——我自己没有用过这么多,但总有能力调试这样的代码。或者拉出一些代码并在 irb 中运行它,看看它实际上在做什么。

我确定我错过了一些东西,但我找到了我最喜欢的点。你对 shell 的限制真的是零,所以你只受到你能想到的事情的限制。我几乎总是有几个 shell 在运行。Bash、Javascript 和 Ruby 的 irb 等等。我用它们做很多事情!

于 2008-08-28T16:11:07.473 回答
1

我认为这取决于控制台。与 Powershell 控制台相比,Windows 上的 CMD 控制台的用处更大。

于 2008-08-28T15:18:45.587 回答
1

您没有说您使用的是什么操作系统,但在 Linux 上,我使用选项卡式窗口管理器 ( wmii ) 一年左右,它从根本上改变了我使用应用程序的方式 - 控制台或其他方式。

我经常在虚拟桌面上有四个或更多控制台和其他应用程序,使用 wmii 我不必调整窗口大小来排列所有内容。我可以轻松地将它们重新排列成垂直列,垂直堆叠,让它们共享等量的垂直或水平空间,并在屏幕之间移动它们。

假设您在桌面上打开了两个控制台。你会得到这个(为cronkey艺术品道歉):

 ----------------
|                |
|       1        |
|                |
 ----------------
 ----------------
|                |
|       2        |
|                |
 ----------------

现在我希望他们并排。我在窗口 2 中输入 SHIFT-ALT-L 将其向右移动并创建两列:

 -------  -------
|       ||       |
|       ||       |
|   1   ||   2   |
|       ||       |
|       ||       |
 -------  -------

现在我可以打开另一个控制台并得到

 -------  -------
|       ||   2   |
|       ||       |
|       | -------
|   1   | -------
|       ||   3   |
|       ||       |
 -------  -------

然后我想暂时查看控制台 3 全高,所以我在其中按了 ALT-s 并得到:

 -------  -------
|       | -------
|       ||       |
|   1   ||   3   |
|       ||       |
|       ||       |
 -------  -------

控制台 2 和 3 现在堆叠起来了。

我也可以给 windows 标签。例如,在控制台 2 中,我可以说 ALT-SHIFT-twww+dev 并且该控制台将在“www”和“dev”虚拟桌面中可见。(如果桌面不存在,则创建它们。)更好的是,控制台可以在每个桌面上采用不同的视觉配置(例如,堆叠和全屏)。

无论如何,我不能在这里做标签式窗口管理器的正义。我不知道它是否与您的环境有关,但如果您有机会尝试这种工作方式,您可能不会回头。

于 2008-08-30T22:59:18.383 回答
0

我在我的 Control-Shift-C 组合键中添加了一个快捷方式,以调出我的 Visual Studio 2008 控制台。在需要注册 dll 或执行任何其他命令时,仅此一项就为我节省了无数秒。我想如果你用另一个命令工具来利用它,你可能会大幅提高生产力。

于 2008-08-28T15:27:15.177 回答
0

你在开玩笑吗?

在我的 Linux 环境中,控制台是我的命脉。我精通 bash 脚本,所以对我来说,控制台就像坐在 Python 或 Lisp 的 REPL 中一样。从字面上看,你可以做任何事情。

实际上,我在 bash 中编写了我的团队使用的工具,而控制台是进行该开发的理想场所。我真的只需要一个编辑器作为我想出的东西的后备商店。

于 2008-08-28T15:30:58.973 回答