質問

スクリプト言語の場合、開発時にコンソールを利用する最も効果的な方法は何ですか?「コンパイルして実行」のみの言語よりもコンソールを使用して生産性を高める方法はありますか?

追加の説明:私はRuby、Python、Booなどに沿って考えています。本格的なアプリに使用される言語ですが、コンソールでコードの小さなスニペットを実行する方法もあります。

役に立ちましたか?

解決

私はRubyに沿って考えています...

さて、ルビーの場合は、 irb インタラクティブ プロンプトは、簡単なことを「練習」するための優れたツールです。効果的な使用法を理解していただくために、irb について以下に説明します。

  • オートメーション. 。あなたは許可されています .irbrc irb 起動時に自動的に実行されるファイル。つまり、お気に入りのライブラリをロードしたり、 何でも 完全な Ruby が自動的に必要になります。私が何を言いたいのかを知るには、次のサイトのいくつかをチェックしてください。 dotfiles.org.

  • オートコンプリート. 。これにより、コードの作成も容易になります。改行を削除する文字列メソッドを思い出せませんか? "".ch<tab> チョップとむしゃむしゃを生成します。 注記: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"  
    
  • テストとベンチマーク. 。今ではそれらは素晴らしく、簡単に実行できるようになりました。 ここ Unix をエミュレートするという誰かのアイデアです time 迅速なベンチマークのための機能。に追加するだけです .irbrc ファイルは常にそこにあります。

  • デバッグ - 私自身はあまり使用したことがありませんが、コードをデバッグする機能がいつでもあります このような. 。または、コードを取り出して irb で実行して、実際に何が行われているかを確認します。

いくつか抜けている部分があると思いますが、私のお気に入りのポイントを記載しました。シェルには実際には制限がないため、制限されるのは実行できることだけです。私はほとんど常にいくつかのシェルを実行しています。いくつか例を挙げると、Bash、JavaScript、Ruby の irb などです。色々なことに使ってます!

他のヒント

コンソールによると思います。Windows 上の CMD コンソールの有用性は、Powershell コンソールと比較すると劣ります。

使用している OS は言いませんでしたが、Linux ではタブ付きウィンドウ マネージャーを使用していました (wmii) 1 年ほどで、コンソールやその他のアプリケーションの使用方法が根本的に変わりました。

私は仮想デスクトップ上に 4 つ以上のコンソールやその他のアプリを使用することがよくありますが、wmii を使用すると、すべてを適切に並べるためにウィンドウのサイズを変更する必要がなくなります。これらを簡単に垂直の列に再配置したり、垂直に積み重ねたり、垂直または水平の等しい量のスペースを共有したり、画面間で移動したりすることができます。

デスクトップ上で 2 つのコンソールを開いたとします。あなたはこれを得るでしょう(クロンキーのアートワークについてお詫びします):

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

今、私はそれらを並べて置きたいと思っています。ウィンドウ 2 で SHIFT-ALT-L を入力して右に移動し、2 つの列を作成します。

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

これで、別のコンソールを開いて取得できるようになりました

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

次に、コンソール 3 を一時的にフルハイトで表示したいので、ALT-s を押して次を取得します。

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

コンソール 2 と 3 が積み重ねられています。

Windows タグを指定することもできます。たとえば、コンソール 2 で ALT-SHIFT-twww+dev と言うと、そのコンソールが「www」および「dev」仮想デスクトップに表示されます。(デスクトップがまだ存在しない場合は作成されます。) さらに良いことに、コンソールは、それらのデスクトップごとに異なる視覚構成 (スタックや全画面など) にすることができます。

とにかく、ここではタブ付きウィンドウマネージャーを正しく扱うことはできません。それがあなたの環境に関係があるかどうかはわかりませんが、この働き方を試す機会があれば、おそらく振り返らないでしょう。

Visual Studio 2008 コンソールを起動するための Control-Shift-C キーの組み合わせにショートカットを追加しました。これだけでも、dll を登録したり、その他のコマンドを実行する必要があるときに、数え切れないほどの秒数を節約できました。これを別のコマンド ツールと併用すると、生産性が大幅に向上する可能性があると思います。

冗談ですか?

私の Linux 環境では、コンソールが生命線です。私は bash スクリプトに熟練しているので、私にとってコンソールは Python または Lisp の REPL に座っているのと非常によく似ています。文字通り何でもできます。

私は実際にチームで使用するツールを bash で作成していますが、コンソールはその開発を行うのに最適な場所です。私が実際に必要としているのは、私が物事を理解する際のバックアップ ストアとしてのエディターだけです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top