mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-23 04:50:17 +00:00
...
This commit is contained in:
parent
e464c638ad
commit
f404724aaf
@ -15,6 +15,34 @@ class deque:
|
|||||||
for value in iterable:
|
for value in iterable:
|
||||||
self.append(value)
|
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):
|
def append(self, value):
|
||||||
node = _LinkedListNode(self.tail.prev, self.tail, value)
|
node = _LinkedListNode(self.tail.prev, self.tail, value)
|
||||||
self.tail.prev.next = node
|
self.tail.prev.next = node
|
||||||
|
@ -952,7 +952,7 @@ __SUBSCR_END:
|
|||||||
consume(TK("="));
|
consume(TK("="));
|
||||||
PyObject* value = read_literal();
|
PyObject* value = read_literal();
|
||||||
if(value == nullptr){
|
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});
|
decl->kwargs.push_back(FuncDecl::KwArg{index, value});
|
||||||
} break;
|
} break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user