Ruby には、優れた HTML/XML パーサーであるNokogiriがあります。CSS アクセサーと XPath アクセサーの両方をサポートしているため、解析された HTML ファイルの DOM を簡単にナビゲートできます。
Nokogiri の上に構築されているのは、Perl の WWW:: Mechanizeに基づいた Mechanize です。Web サイトのページのナビゲート、フィールドの抽出、フォームへの入力と送信、Cookie とセッションの追跡などを簡単に行うことができます。 Mechanize は Nokogiri の上に構築されているため、基盤となる DOM にアクセスして同じ CSS とXPath アクセサー。
Ruby にはいくつかの異なるテスト環境があります。Test::Unit は Ruby に付属しており、使いやすいです。他にも、Autotest、RSpec、Shoulda、Cucumber などがあります。自動テストは、ディレクトリを監視し、ファイルを変更するとテストを実行するので便利です。
私は Perl と Java のバックグラウンドから Ruby に来ました。その前は C/C++ でした。私にとって、Ruby は Java と Perl の子のようなものです。なぜなら、Java と Perl にはいくつかの類似点があるからです。しかし同時に、両方の言語で厄介だったことが、Ruby ではうまく回避されています。あたかも、Ruby が他の 2 つの論理的な成長、または次世代であるかのようです。これは、Ruby を機械ではなくプログラマーのための言語にしたいという Matz の意図と、後知恵のおかげでもあると思います。
Ruby と並行して Rails を学習してみましたが、v1 から v2 に変わるにつれて Rails をキャッチしました。すべての本は古くて間違っていて、ほとんどの Web サイトは間違っていて、良い情報を見つけるのは大変でした。最終的に、私は混乱がドキュメントにあることに気付き、Rails から 6 か月離れて、Ruby に集中し、仕事で毎日使用していました。Perl よりも簡潔にアイデアを表現できたので、ほぼ独占的に使い始めました。Perl でもっと簡潔に書くことはできましたが、読みやすくはありませんでした。これは、コードを保守しやすくするのに役立つため、私にとって重要なことです。
数年後の今、私は今まで使ったどの言語よりも Ruby を好みます。私はまだ Perl でプログラミングしていますが、職場では Ruby を伝道しており、Sequelのためにデータベースに触れるものを書く必要があるとき、またはRails、Sinatra、またはPadrinoをHAMLと組み合わせて使用してデータベースに Web フロントエンドを作成する必要があるときはいつでも Ruby を使用しています。