私はこれをリファクタリングするための最善の方法または最も正しい方法を知りたいと思います。初心者のリファクタリングの質問
series = Hash.new
series[:series_id] = doc.xpath("Data/Series/id").inner_text if not doc.xpath("Data/Series/id").nil?
私はこれをリファクタリングするための最善の方法または最も正しい方法を知りたいと思います。初心者のリファクタリングの質問
series = Hash.new
series[:series_id] = doc.xpath("Data/Series/id").inner_text if not doc.xpath("Data/Series/id").nil?
series = { :series_id => doc.xpath("Data/Series/id").try(:inner_text) }
私が最も革新的なリファクタリングがhappymapperのようなマッピングライブラリ、オブジェクト、フードの下にあるすべてのこの汚い実装の詳細を残すために、XMLを使用することだろうと思う
series = Hash.new
id_element = doc.xpath("Data/Series/id")
series[:series_id] = id_element.inner_text unless id_element.nil?
「id_element.nil以外」の代わりに最後の行に「if id_element」と書いたほうが慣れやすいでしょう。 – gregspurrier
ような何か。
DigitalRossは正しいです、私が置くつもりだったのです。 'try'関数は不思議に作用します。 – ardavis
これは素晴らしいものです。それはわずかに異なる動作をしますが、常に ':series'キーが追加されます。その効果はほとんどの場合同じです。 'series [:series_id]'はキーが定義されていない場合、キーの存在を明示的にテストしない限り、 'nil'も返します。 – nathanvda