本帖最后由 RyanBern 于 2015-4-23 08:20 编辑
邱小谦 发表于 2015-4-22 23:39
谢谢你的回答。但是有一点我没明白。就是说。if后面一般不是得带表达式么?那样才会执行东西。这里的第三 ...
if 后面接表达式指的是
if $data_items[i].occasion == 0 or $data_items[i].occasion == 1
if $data_items[i].occasion == 0 or $data_items[i].occasion == 1
之后你说的“没有语句”,意思是如果此条件满足(即该物品使用场合为0或者1),那么就什么都不做。如果条件不满足,则直接进行下一次循环(这样会无视掉后面的@data.push(...))。
因此我说这样写的习惯不太好,这就相当于这种情况:
a = true if a print "True" else end if a print "True" end
a = true
if a
print "True"
else
end
if a
print "True"
end
什么都不做的分支应该省略此分支。这里应该用第二种写法。
因此,改成这样为好:
if $data_items[i].occasion > 1 next end
if $data_items[i].occasion > 1
next
end
|