From d987b708735c75f3024faaf9d919fbe6f3f26123 Mon Sep 17 00:00:00 2001 From: BLUELOVETH Date: Tue, 30 May 2023 15:00:02 +0800 Subject: [PATCH] ... ... --- docs/features/differences.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/features/differences.md b/docs/features/differences.md index 883b2dd5..808e8103 100644 --- a/docs/features/differences.md +++ b/docs/features/differences.md @@ -16,24 +16,29 @@ game scripting, not cpython for general purpose programming.** pkpy supports most of the syntax and semantics of python. For performance and simplicity, some features are not implemented, or behave differently. +The easiest way to test a feature is to [try it on your browser](https://pocketpy.dev/static/web/). ## Unimplemented features + 1. `**kwargs` in function definition. 2. `__getattr__` and `__setattr__`. 3. Descriptor protocol `__get__` and `__set__`. However, `@property` is implemented. 4. `__slots__` in class definition. 5. `import` module from a directory with `__init__.py`. 6. One element tuple. `(1,)` is not supported. -7. Unpacking in `list` and `dict` literals, i.e. `[1, 2, *a]`. +7. Unpacking in `list` and `dict` literals, e.g. `[1, 2, *a]`. 8. Access the exception object in try..except. -9. `else` clause in try..except. +9. `else` clause in try..except. 10. Inplace methods like `__iadd__` and `__imul__`. 11. `__del__` in class definition. ## Different behaviors + 1. positional and keyword arguments are strictly evaluated. 2. When a generator is exhausted, `StopIteration` is returned instead of raised. 3. `++i` and `--j` is an increment/decrement statement, not an expression. -4. `int` and `float` are not subclasses of `bool`. +4. `int` does not derive from `bool`. 5. `int` is not of unlimited precision. In 32 bit system, `int` and `float` is 30 bit; in 64 bit system, they are both 62 bit. -6. `__ne__` is not required. Define `__eq__` is enough. \ No newline at end of file +6. `__ne__` is not required. Define `__eq__` is enough. +7. Raw string cannot have boundary quotes in it, even escaped. See [#55](https://github.com/blueloveTH/pocketpy/issues/55). +8. In a starred unpacked assignment, e.g. `a, b, *c = x`, the starred variable can only be presented in the last position. `a, *b, c = x` is not supported. \ No newline at end of file