mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-22 20:40:18 +00:00
...
This commit is contained in:
parent
e464c638ad
commit
f404724aaf
@ -15,6 +15,34 @@ class deque:
|
||||
for value in iterable:
|
||||
self.append(value)
|
||||
|
||||
def __getitem__(self, index):
|
||||
assert 0 <= index < len(self)
|
||||
node = self.head.next
|
||||
for _ in range(index):
|
||||
node = node.next
|
||||
return node.value
|
||||
|
||||
def __setitem__(self, index, value):
|
||||
assert 0 <= index < len(self)
|
||||
node = self.head.next
|
||||
for _ in range(index):
|
||||
node = node.next
|
||||
node.value = value
|
||||
|
||||
def __delitem__(self, index):
|
||||
assert 0 <= index < len(self)
|
||||
node = self.head.next
|
||||
for _ in range(index):
|
||||
node = node.next
|
||||
node.prev.next = node.next
|
||||
node.next.prev = node.prev
|
||||
self.size -= 1
|
||||
|
||||
def clear(self):
|
||||
self.head.next = self.tail
|
||||
self.tail.prev = self.head
|
||||
self.size = 0
|
||||
|
||||
def append(self, value):
|
||||
node = _LinkedListNode(self.tail.prev, self.tail, value)
|
||||
self.tail.prev.next = node
|
||||
|
@ -952,7 +952,7 @@ __SUBSCR_END:
|
||||
consume(TK("="));
|
||||
PyObject* value = read_literal();
|
||||
if(value == nullptr){
|
||||
SyntaxError(Str("expect a literal, not ") + TK_STR(curr().type));
|
||||
SyntaxError(Str("default argument must be a literal"));
|
||||
}
|
||||
decl->kwargs.push_back(FuncDecl::KwArg{index, value});
|
||||
} break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user