node :transitType do |u|
:Entry if u.type == 'HorseEntryTransit'
:Exit if u.type == 'HorseExitTransit'
end
我尝试了以下内容,此代码段返回true。
node :transitType do |u|
u.type == 'HorseEntryTransit'
end
答案 0 :(得分:2)
您可以改进代码块并避免测试两个条件(满足第一个条件时)。另外,假设不满足条件的情况。看起来,即使第一个条件为真,第二个条件失败时你也会得到nil
。
node :transitType do |u|
if u.type == 'HorseEntryTransit'
:Entry
elsif u.type == 'HorseExitTransit'
:Exit
else
nil #or :Neither
end
end
当实际满足第一个条件时,您的代码不起作用,因为第二个条件仍将被测试,并且该条件的结果为nil
。