因為我無法用你的例子編程,但條款寫成程序,是這樣的

來源: 2015-03-09 14:55:47 [博客] [舊帖] [給我悄悄話] 本文已被閱讀:

If [red light]
     Then “stop at a marked limit line” (A,B);
If [an indication to proceed is shown]
     Then
          Go(A);
     Exception
          If [pedestrians lawfully within an adjacent crosswalk]
               Then
                   Yield (B);
          End If;
End If;

If [green light]
     Then
          If [pedestrians lawfully within an adjacent crosswalk]
          Then
               Yield(B);
          Else
               Go (A);
          End if;
End If;


在我看來,A和B不是平行的關係,所以沒有dead loop,B作為A的一個exception, 它依舊可以獨立存在,就是第二個if

如果程序走到exception而你不走,就用B罰。