2009-09-16 9 views
9

this postによれば、ルビー宝石を必要とするのは反パターンである。なぜ「ルビジェムを必要とするのは間違っていますか?」

require 'rubygems' 

引数はこれに煮詰めるようだ:私はあなたのライブラリーを使用する場合は、あなたの アプリを展開

、または私は はRubyGemsのを使用したくないかもしれませんあなたのテストを実行します。あなたのコードに 'rubygems'が必要なときは、私の の決定を削除します。私は はrubygemsをunrequireすることはできませんが、 最初にそれを必要とすることはできません。

しかし、他の人とコードライブラリを作成して共有する際に「必要な」Rubyライブラリについて同じ議論をすることはできませんでしたか?

答えて

9

主な問題は、それがあってもRubyGemsのがインストールされていないシステム上のエラーを引き起こすということです行い、彼に同意しませんでした彼らはあなたが実際に必要としたいライブラリを持っています。

Rubygemsが必要なときにLoadErrorを救済することで回避する人もいますが、それは一見醜いものです。

9

あなたはコメントを見れば、あなたは著者は、私がしようとしていませんでした。この

ポイントはRubyGemsのが悪い であるかの人々 がそれを使うべきではないと言うでしょう。私はRubyGemsのを使用して が、それはRubyの 成功の重要な部分だと思う - 私はちょうどライン を持っていないことが必要であるか、または便利ではない だとなりますので、どこでも私の ライブラリのソースコード内の「『RubyGemsの』を必要と」それ ハード/ rubygemsなしで ライブラリを使用するには、他の 環境(bundler、rip、GAE、 デービッド、手巻きなど)では不可能です。

私はそれを読む前に、私は実際には本当に今、私はRubyGemsのを必要と

0

Rubygemsはアプリケーションに必須ではなく、ライブラリを提供する便利な方法です。対照的に、使用される他のライブラリはアプリケーションにとって不可欠です。

関連する問題