n が 0 の場合、シーケンスの最後の n 個の項目を操作しなければ[-n:]
ならないことがよくn == 0
あります。例えば
if len(b):
assert(isAssignableSeq(env, self.stack[-len(b):], b))
newstack = self.stack[:-len(b)] + a
else: #special code required if len=0 since slice[-0:] doesn't do what we want
newstack = self.stack + a
私の質問は、厄介な特別なケーシングを必要とせずにこの動作を取得する方法はありますか? 常に 0 をチェックする必要がなければ、コードははるかに単純になります。