さまざまなプラットフォーム(Windows、Linuxなど)でさまざまな種類のアプリケーション(Webベース、GUIベース、コマンドラインなど)に直面し、日常的に動作しています。スクリプトによってタスクを自動化する絶好の機会があります。しかし、ほとんどすべての種類のアプリケーションとプラットフォームには、ネイティブスクリプト言語またはツール( VBScript および PowerShellなど)があります。 Windowsの場合はBashスクリプト、Linuxの場合は Selenium 、Webアプリケーションの場合は AutoIt GUIアプリケーションの場合など)。非常に多くのスクリプト言語を学び、維持することは私を殺します。
Rubyはさまざまなプラットフォームと簡単に相互運用でき、非常に表現力があると感じています。したがって、私の質問は次のとおりです。
Rubyを使用してすべてをスクリプト化することは可能ですか?
もしそうなら、各プラットフォームのnativeスクリプト言語と比較して主な欠点は何ですか?
Linux、OS Xなどの汎用スクリプト言語にはRubyが適しています。しかし最近、2000から7までのすべてのバージョンのWindowsで動作するスクリプトをいくつか作成する必要がありました。VBScriptには必要な機能がありませんでした( SOAP Webサービスなど)と話し、PowerShellがWindows 2000で利用できないため、Microsoftツールキットの外を見て、Rubyを試してみることにしました(過去にLinuxで使用したことがありました。決定を後悔しているわけではありませんが、もっと良い選択があったのではないかと思います。Windowsでの主な不満はRuby=だった:
それでも、基本的には期待どおりに機能し、RubyはOSに組み込まれているものよりも約1000倍優れています。したがって、少なくとも、 RubyよりもWindowsでの汎用スクリプトの場合)。
Rubyは、プラットフォーム(Windows、Linux、MAC)間の移植性、およびさまざまな種類のアプリケーションを自動化する機能に関して、要件に適合しているようです。私の知る限り、Rubyライブラリを使用してブラウザとコマンドラインアプリを自動化できますが、GUIベースのツールについてはわかりません(.NETなどの一部のプラットフォームでは、Rubyバインディングがこの点で役立ちます)。
Rubyには多数のライブラリーがあるため、スクリプトに適した多くのタスクを自動化できるはずです。たとえば、さまざまなテキスト形式のファイルを操作したり、ネットワークやデータベースにアクセスしたりできます。ただし、一部のタスクをネイティブRuby-たとえばビデオをエンコードする)で実行するのは最善ではない場合があります(ただし、Rubyを使用して他のツールをいつでも呼び出すことができますそれ)。
バッチおよびシェルスクリプトと比較する場合、Rubyを使用して、これらのスクリプトが実行できるほとんどすべてのタスクを実行できます。欠点は次のとおりです。
上記のすべての回答に同意しますが、WindowsとPOSIXにはプラットフォーム固有の違いがあるため、プラットフォーム固有のものを使用している場合にスクリプトを再利用できるとは保証できません。
Rubyは一般的なスクリプトには適していますが、パフォーマンスにはそれほど優れていません。とにかく、スクリプト内のプラットフォームを識別し、外部コマンドとスクリプトを実行することができます。