if preg < 0
return 0
elsif preg > max_right
max_right
else
preg
end
简单的实现最大值最小值的方法。有点代码洁癖。谢谢大家。
想不出其它方法 我也就只能写到一行了
preg < 0 ? 0 : (preg > max_right ? max_right : preg)
如果最后一个返回值是 preg
, 那么可以这样写
return 0 if preg < 0
[max_right, preg].min
如果最后一个返回值是 reg
, 现在的写法就挺好的
return 0 if preg < 0
return max_right if preg > max_right
reg
我一般这么写,我一直建议避免 else 这样阅读的时候不会出现分支
直接按需求读出来就可以写出来了,取 preg 和 0 中大的一个,然后取和 max_right 中小的一个:
[[preg, 0].max, max_right].min
return 0 if preg < 0
if preg > max_right
max_right
else
reg
end
太少的代码行数不容易理解。