Ruby 如何合并这两条语句

yelanxin · 2019年05月16日 · 最后由 theblock24block 回复于 2019年05月17日 · 458 次阅读


 a = 0 if a.nil?
a += 1

每次碰到一个为nil的变量,都需要判断下,这两条语句能合并写吗?


a = a.to_i + 1

有没有更简单的办法?



a ||= 0
a +=1 

还有更简单的吗

如何做到 +=1 是,自动赋值 0

共收到 8 条回复

如果 a 是存储在一个 Hash 对象里,可以: h = Hash.new(0); h[:key] += 1;

a.to_i = 0

a = a.to_i + 1

a = (a || 0) + 1
(a && a+1).to_i
x = x.to_i.succ
x = x.to_i.next

或者你自己写一个方法变成你想要的简单,其实,都没什么卵用,还不如宁愿多写几行让别人更容易看懂

追求这个真是没有什么卵用。

#1楼 @lululau 感谢,有用

a是从哪里来的

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册