rubyの作法としてはどれが推奨なんだろうか?
proxyサーバのアドレスとポートが未設定だった場合の条件判断として、最初は(1)のようなコードを書いた。
(1) if config.proxy_address != nil && config.proxy_port != nil
これでも正しく動くのだけど、違和感があったので(2)のコードに書き直した。
(2) if !config.proxy_address.nil? && !config.proxy_port.nil?
ifに!を使うのなら、unlessを使うべきだよなと考えて、(3)のコードにしてみた。
(3) unless config.proxy_address.nil? || config.proxy_port.nil?
これは、*1なので正しい置き換えです。
だけど、(3)はどうも違和感がある。の結果に対してnotで考える、とunlessをとらえているからなのだろう。
これがもし仕事だったら(1)のコードのままにするのですけどね。
*1:cupとcapを間違えて記述していました。恥ずかしい…。