Eclipse + RDTプラグインを使用したRuby開発
Ruby Development Using Eclipse Rdt Plugin
http://blog.cnlidc.com/?p=124
まず、なぜRubyを使うのですか?
では、なぜ多くのJava開発者がRubyを心配しているのでしょうか。 10年前に日本で作成された汎用スクリプト言語であるRubyは、純粋なオブジェクト指向言語です。 Javaテクノロジとは異なり、Rubyのすべてがオブジェクトです。 Rubyの構文は、主にSmalltalk、Python、Adaに由来します。 Javaプログラミング言語と同様に、Rubyは単一継承言語ですが、クロージャ(匿名の内部クラスと見なすことができます)やミックスイン(インターフェイスと同様)など、Javaテクノロジでは実装されていない高度な機能を提供します。 、ただしクラスに緩くバインドされています)。 Rubyは移植性も高く、すべての主要なオペレーティングシステムで動作します。
現在、Rubyは非常に人気があります。人々はそれをさまざまなタイプのアプリケーションに適用し始めています。解釈され、動的型付けを使用するため、実行時にJavaで実装するのが難しいトリックを実装できます。動的型付けと表現力豊かな構文の驚くべき機能の1つは、Rubyでドメイン固有言語(DSL)を作成する機能です。これにより、元の言語の文法から離れて、より高いレベルの抽象化に取り組むことができます。 Ruby onRailsは、データベースベースのWebアプリケーションを作成するためのフレームワークであり、Rubyの能力も示しています。 RubyのMakeとAntのバージョンとしてのRakeは、この言語の強力なアプリケーションのもう1つの証拠です。
Rubyを使用するもう1つの理由は、すべてのプログラミング愛好家がRubyを使用していることです。多くのJavaプロ(Glenn Vanderburg、Bruce Tate、Martin Fowlerなど)が現在Rubyを使用しています。すべての開発をRubyに変える予定がない場合でも、この言語は一見の価値があります。
Rubyの開発を制限する主な要因の1つは、Rubyが優れた開発環境を欠いていることです(Emacsを学びたくない人のために)。今日、RDTはすべてを変えました、そしてEclipseで実験することは最高です。
第二に、インストール
Rubyを使用する前に、Rubyインタープリター、対応するライブラリー、およびRuby開発環境をインストールする必要があります。
第三に、Rubyを入手する
Rubyはすべての主要なプラットフォームで利用できます。実際、LinuxまたはCygwinディストリビューションにすでに含まれている可能性があります。コマンドプロンプトを開き、「Ruby-v」と入力してください。
バージョン番号を取得したら、準備ができています。それ以外の場合は、選択したプラットフォームの配布パッケージを確認する必要があります。
Windowsを実行している場合は、選択が簡単です。 RubyForgeは、SourceForgeのRuby固有の同等物として、Windows上でRuby環境を構築するために使用されるOne-ClickRubyInstallerと呼ばれるプロジェクトを持っています。 FreeRideと呼ばれるIDEなどの他のツールも含まれていますが、RDTを使用している場合は、インストールプロセス中にこれをスキップできます。
第四に、ドキュメントを取得します
新しい言語を使い始めるときは、ドキュメントと関連する参考資料が重要です。 Rubyドキュメントのオンラインリファレンス資料はメインのRubyWebサイトで入手できますが、これらのドキュメントは少し古くなっています(Ruby 1.6用であり、現在のバージョンは1.8.2です)。問題は、更新されたドキュメントがまだ日本語から翻訳されていないことです。ただし、Ruby-doc.orgで最新のヘルプドキュメントを見つけることができます。 APIレベルのドキュメント(Javadocに相当)、およびその他のチュートリアルや書籍が含まれています。
真面目なRuby開発者の方は、プログラミングを最高に体験するために、 『Programming Ruby:The Pragmatic Programmer's Guide』(Dave ThomasとAndyHuntによる)を読む必要があります。これは、RubyおよびRubyライブラリをプログラミングするための古典的なガイドです。この本を入手した場合は、DaveThomasによる「RubyonRailsを使用したアジャイル開発」という本も参照できます。これはRubyonRailsの入門書です。
V.RDTの取得
これで、コンピュータに優れたヘルプドキュメントがインストールされたRubyが機能しているので、RDTをインストールする必要があります。これは、コードを編集するときに慣れている可能性のある多くの機能を提供するEclipseプラグインです。 RDTは標準のEclipseプラグインであるため、zipファイルをEclipseフォルダーに直接抽出して、ドキュメント内のパスにある他のすべてを処理できます。
これで、Rubyプロジェクトを作成する準備が整いました(図1を参照)。
図1.新しいRubyプロジェクトの作成
Javaと比較して、Rubyは名前とディレクトリ構造に関してそれほど厳密ではありません。 Rubyでプロジェクトを作成すると、実際には1つのディレクトリと1つのプロジェクトファイルのみが作成されます(Rubyにはクラスパスがないため、.classpathファイルは必要ありません)。 Javaテクノロジとのもう1つの重要な違いは、Rubyプロジェクトウィザードが明示的なsrcおよびbinディレクトリを作成しないことです。 Rubyは解釈されるため、出力フォルダーはありません。小さなプロジェクトがある場合は、Rubyソースファイルをプロジェクトファイルと同じフォルダーに置くことができます。または、独自のディレクトリ階層を作成することもできます。 RubyはJavaと比較してこれをほとんど気にしないことがわかります。
次に、Rubyソースファイルを作成します。 Rubyソースファイルを作成するための特定のウィザードはありません。 Javaテクノロジと比較すると、Rubyソースファイルは必要な構造が少ないため、Rubyファイルを作成するには、プロジェクトを右クリックして新しいファイルを作成する必要があります(下の図2を参照)。
|
|
|
|
6、RDTエディター
Javaの世界では、高度なエディター機能に慣れています。そのため、同じサポートを提供していない他の環境に移動することは困難です。 RubyIDEに欠けている機能の1つは、コンテンツアシスタント(状況依存の識別子ルックアップ機能を提供する)がないことです。幸い、RDTエディターには、図6に示すように、Rubyコードのコンテンツヘルパーが含まれています。
|
コンテンツヘルパーの復元機能は、Rubyが識別子を使用するときに特定の命名規則を使用することです。たとえば、Rubyでは、すべてのメンバー変数は最初に使用されたときに存在し、名前の最初の文字として@記号で識別されます。 Content Assistantを使用してメンバー変数を検索する場合は、@と入力できるため、メンバー変数のみを表示できます。
|
セブン、実行とデバッグ
IDEの機能の1つは、ビルドしたアプリケーションを同じ環境で実行およびデバッグすることです。 RDTは、これらの機能の両方を有効にできます。
8、通訳を指定します
このタスクの実装は、Rubyの上部にある[Windows]> [設定]ダイアログと[インストールされているインタープリター]エントリにあります。
Rubyはインタプリタ言語であるため、RDTでアプリケーションを実行またはデバッグする前に、インタプリタを環境に関連付ける必要があります。この関連付けは、Rubyの上部にある[Windows]> [設定]ダイアログの[インストール済みインタープリター]エントリにあります。
|
9、Rubyアプリケーションを実行します
Rubyアプリケーションの実行は、実際にはJavaアプリケーションの実行と似ています。図9に示すように、[実行]メニューを使用して実行構成を作成できます。
|
|
X.RDTを使用したデバッグ
IDEの実装に必要な最も重要な機能の1つは、アプリケーションを効果的にデバッグする機能です。 Rubyインタープリターにはコマンドラインデバッガーが含まれていますが、今日のグラフィックツールの時代にコマンドラインデバッガーを使用するのは誰ですか?幸い、Rubyインタープリターは特定の(構成可能な)ポートを介してデバッグ情報をブロードキャストし、RDTなどのツールはポートをリッスンして、開発者が期待するタイプのデバッグサポートを提供できます。
RDTでRubyアプリケーションをデバッグするには、上記で作成した実行構成と同じようにデバッグ構成を作成する必要があります。次に、左側の溝をクリックし、デバッガーを使用してアプリケーションを起動することにより、ブレークポイントを設定できます。 Javaテクノロジと同様に、IDEはデバッグビューに切り替えるかどうかを尋ねます。必要に応じて、以下の図11に示すようなものが表示されます。
|
デバッガーのサポートはRDTの機能です。優れたRubyサポートを備えたエディターを使用している場合でも、アプリケーションのデバッグにはコマンドラインデバッガーを使用する必要があります。完全に機能するデバッガーを使用すると、ソフトウェアの生産性が大幅に向上します。
XI、テスト
Java開発者が実装しなければならない最も難しいRuby機能の1つは、動的型付けです。強く型付けされた言語に慣れている場合、動的型付けは少し混乱しているように見えます。 DTは、さまざまな高度なメタプログラミング手法を可能にします。これは、強く型付けされた言語で実装するのは困難または不可能です。もちろん、コンパイル時の型チェックのセキュリティ設定を破棄することもできます。それで、2つの世界の最良の組み合わせを達成する方法はありますか?
単体テストはすべての言語で実装する必要がありますが、動的言語では特に重要です。ユニットテストは、コンパイル以上のものを明らかにします。実際、単体テストとコンパイルの関係についての見方を変える必要があります。最近、上級ソフトウェア開発の専門家は、「今後5年間で、単体テストの弱い実装としてコンパイルを使用する」と考えています。単体テストは検証を提供できます。エンコードは、入力の文法チェックだけでなく、時間どおりに実装されます。
Rubyの世界では単体テストが非常に重要であることを考えると、RDTで単体テストを簡単に実行できるようにする必要があります。確かにそうです!ユニットテストはRubyに含まれているため、他の拡張機能をダウンロードする必要はありません。 Rubyライブラリには、TestCaseクラスとTestSuiteの概念が含まれています。 Test :: Unit :: TestCaseからテストをサブクラス化して、他のRubyクラスと同じように単体テストを作成できます。リスト1は、Employeeクラスのインスタンスです。
リスト1.従業員クラス
クラス従業員 def initialize(name、salary、hire_year) @name = name @ salary =給与 @hire_year = Hire_year 終わり attr_reader:name、:salary、:hire_year def raise_salary_by(perc) @salary + =(@ salary *(分* 0.01)) 終わり def to_s '名前は#{@ name}、給与は#{@ salary}、' + '雇用年は#{@ hire_year}' 終わり 終わり |
リスト2.Employeeクラスに対応する単体テスト
'test / unit / testcase'が必要 'test / unit / autorunner'が必要です 'hr'が必要 クラスTestEmployee defセットアップ @emp = Employee.new( 'Homer'、@@ Test_Salary、2003) 終わり def test_raise_salary @ emp.raise_salary_by(10) 期待値=(@@ Test_Salary * 0.10)+ @@ Test_Salary assert(expected == @ emp.salary) 終わり 終わり |
|
|
リスト3.いくつかのクラスの例TestSuite
'test / unit / testsuite'が必要です 'test / unit / ui / tk / testrunner'が必要です 'test / unit / ui / console / testrunner'が必要です 'TestEmployee'が必要 'TestManager'が必要 クラスTestSuite_AllTests def self.suite suite = Test :: Unit :: TestSuite.new( 'HR Tests') 後<< TestEmployee.suite 後<< TestManager.suite リターンスイート 終わり 終わり #Test :: Unit :: UI :: Tk :: TestRunner.run(TestSuite_AllTests) Test :: Unit :: UI :: Console :: TestRunner.run(TestSuite_AllTests) |
|
RDTの現在のバージョンは0.50です。現在、その開発者はバージョン0.60を開発しています。次のリリースで改善される側面は次のとおりです。
・コード折り畳み-クラスとメソッドのコード折り畳みを提供します。
・アウトラインビュー-ローカル変数のサポートなど、より詳細な情報を提供します。
・RIビュー-RDTビューからRubyのriツールを使用します。
・タスクタグ-TODO、FIXMEなどの構成可能なキーワードのRubyコメントの形式でタスクを作成します。
・エディターの改善-中括弧、括弧、一重引用符/二重引用符を自動的に追加し、より優れたコードヘルパーがあります。
•インスペクターショートカット-オブジェクトのすべてのメソッド、グローバル定数などの表示など、デバッグセッション中に頻繁に使用されるインスペクターに構成可能なショートカットを提供します。
次のバージョンでは、JRubyバイトコードコンパイラをより有効に活用します。 JRubyは、RubyコードをJavaバイトコードにコンパイルできるようにするプロジェクトです。これは、RDTの将来のバージョンがEclipseの世界に追加しやすくなり、さらに優れたサポートを提供することを意味します。
13、まとめ
Rubyは最終的に業界の専門家によって認識され、適用されます。この理由の一部は、Ruby onRailsプロジェクトの成功によるものです。それでは、Rubyを「競争ツールボックス」に追加することを検討しましょう。もちろん、RDTはあなたをフィールドに参加させる重要な要素でもあります。
元の住所[]