次の方法を短縮するのに役立つ人はいますか?私はこれで始まりました。私はちょうどいいと思っていました。条件付きでハッシュにキーと値のペアを含める
def self.some_hash
{ "foo" => "bar" }
end
ここでオプションのキーを追加します。私は考えることができるtersest構文はこれです:
はdef self.some_hash(some_key=nil)
answer = { "foo" => "bar" }
answer[some_key] = "yucky, long-winded syntax" if some_key
answer
end
修正方法は動作しますが、私は、仮想インクの無駄に不満です。それを短縮する方法はありますか?私は、ハッシュリテラルで三項演算子を使うことができることを理解していますが、それは条件の各枝の繰り返しを強制します(私は思っています)。
「次の方法を短縮するのに役立つ」これはレビューを行い、リファクタリングと最適化を行うcodereview.stackexchange.comにある必要があります。 –
この質問を見るのが悲しいですが、実際には「条件付きでキー/値ペアをハッシュに含めるにはどうすればよいですか?私は[Ruby 2.0の二重スプラット演算子](http://stackoverflow.com/a/37474217/122087)を使って答えを書いた。 –
@PaulAJungwirth、私は単に作業コードを改善したかったので閉じていたと思います。私は代わりにいくつかのガベージ・シンタックスを作成して、それが機能していないと述べ、すべてがうまくいくと述べました。 **演算子についての素晴らしいヒントです!ありがとうございます<---落胆しているコメントがありますが、コメントはありません。 – danh