表达这段代码可能是一种更简洁,更简洁的方式吗?
if should_be_admin
result = user and user.admin?
else
result = not user.nil?
end
答案 0 :(得分:2)
result = should_be_admin ? (user and user.admin?) : !!user
或
result = user ? (should_be_admin ? user.admin? : true) : false
!!
将真实值转换为true
,将虚假值(nil
或false
)转换为false
。