3 ruby
我写过类似的东西,我从Visual Basic 6.0中知道的if-else逻辑,但我确信有更好的"Ruby方式"来编写它.
你能告诉我在Ruby世界中它会是什么样子吗?
if params[:medication_name].nil?
med_name = 'all'
elsif params[:medication_name] == 'undefined'
med_name = 'all'
else
med_name = params[:medication_name]
end
Run Code Online (Sandbox Code Playgroud)
您可以通过几种不同的方式简化此操作,例如:
med_name = params[:medication_name]
med_name = 'all' if med_name.nil? or med_name == 'undefined'
Run Code Online (Sandbox Code Playgroud)
对于你的情况,是这样的:
med_name = params[:medication_name]
med_name = 'all' if [nil, 'undefined'].include? med_name
Run Code Online (Sandbox Code Playgroud)
对于更一般的长链if// ,请查看语句。在这种情况下,他们太过分了,但这里有一个例子:elsifelsecase
med_name = case params[:med_name]
when 'undefined', nil
'all'
else
params[:med_name]
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
239 次 |
| 最近记录: |