これは、Rubyでデフォルトを設定する一般的な方法です。
class QuietByDefault
def initialize(opts = {})
@verbose = opts[:verbose]
end
end
これは簡単に陥る罠です:
class VerboseNoMatterWhat
def initialize(opts = {})
@verbose = opts[:verbose] || true
end
end
これはそれを行う正しい方法です:
class VerboseByDefault
def initialize(opts = {})
@verbose = opts.include?(:verbose) ? opts[:verbose] : true
end
end
コーディングするための最良/最もクリーンな方法は何VerboseByDefault
ですか?(もちろん、それを除外することはできます。)
一般に、Rubyコードで広く使用されているパターンは何ですか?ActiveSupportにはこのためのパターンがありますか?(最小限の方が優れています。完全なコマンドラインオプションパーサーは必要ありません。)
true
Ranting PS:デフォルトを処理するコードとデフォルトfalse
オプションを処理するコードの非対称性は好きではありません。バグを発生させることなく、2つの間で変化するパターンを見るのは良いことです。