在Stack Overflow问题2068165中,一个回答提出了使用类似以下代码的想法:
作为DRYer的说法
params[:task][:completed_at] &&= Time.parse(params[:task][:completed_at])
作为DRYer的说法
params[:task][:completed_at] = Time.parse(params[:task][:completed_at]) if params[:task][:completed_at]
参数哈希将来自于(Rails/ActionView)表单。
这是一个著名的 ||=
习语的推论,如果左侧不为 nil/false,则设置值。
像这样使用 &&=
是否实际上是一种公认的 Ruby 习语,我是否错过了或者忘记了更常用的习语?现在时间已经很晚了...