Vic*_*tor 0 ruby ruby-on-rails
这是Rails/Ruby.只是想知道是否有DRYer版本来删除以下代码中的重复:
case params[:order]
when 'rating_ascend'
order = {:order => 'rating_average ASC'}
when 'rating_descend'
order = {:order => 'rating_average DESC'}
when 'distance'
order = {:order => 'distance ASC'}
else
order = {:order => 'distance ASC'}
end
Run Code Online (Sandbox Code Playgroud)
谢谢.
或者当然,有.
order = case params[:order]
when 'rating_ascend'
{:order => 'rating_average ASC'}
when 'rating_descend'
{:order => 'rating_average DESC'}
else
{:order => 'distance ASC'}
end
Run Code Online (Sandbox Code Playgroud)
甚至这个(我不会这样写,但这是DRYer)
order = {:order => case params[:order]
when 'rating_ascend' then 'rating_average ASC'
when 'rating_descend' then 'rating_average DESC'
else 'distance ASC'
end}
Run Code Online (Sandbox Code Playgroud)
当您简化代码到此时,您会注意到您有双倍的"距离ASC"结果.这是拼写错误还是故意的?
| 归档时间: |
|
| 查看次数: |
77 次 |
| 最近记录: |