更新:更好的答案与重构没什么关系,但与设置空键的默认值有关.看到第一个答案 - 非常感谢!
嗨伙计们,你会如何重构这个?
if n=network_stats["b"]
network_stats["b"] = n +1
else
network_stats["b"]=1
end
Run Code Online (Sandbox Code Playgroud)
我有一种唠叨的感觉,这可以用2行完成
这是一个简短易读的oneliner:
network_stats["b"] = (network_stats["b"] || 0) + 1
Run Code Online (Sandbox Code Playgroud)
并且更长但可能更具可读性和可扩展性(将来会添加更多案例)版本:
network_stats["b"] = case network_stats["b"]
when nil then 0
else network_stats["b"] + 1
end
Run Code Online (Sandbox Code Playgroud)
更新:作为一个好奇心,这可以工作:
network_stats["b"] += 1 rescue network_stats["b"] = 1
Run Code Online (Sandbox Code Playgroud)
我不会亲自使用它.
归档时间: |
|
查看次数: |
171 次 |
最近记录: |