Get rid of ugly if statements

后端 未结 25 2194
借酒劲吻你
借酒劲吻你 2020-12-02 05:59

I have this ugly code:

if ( v > 10 ) size = 6;
if ( v > 22 ) size = 5;
if ( v > 51 ) size = 4;
if ( v > 68 ) size = 3;
if ( v > 117 ) size = 2         


        
25条回答
  •  长情又很酷
    2020-12-02 06:31

    The obvious answer is to use Groovy:

    def size = { v -> [145,117,68,51,22,10].inject(1) { s, t -> v > t ? s : s + 1 } }
    

    One liners are always better. Returns 7 for the undefined case where v <= 10.

提交回复
热议问题