BLUELOVETH 2 years ago
parent
commit
d987b70873
1 changed files with 9 additions and 4 deletions
  1. 9 4
      docs/features/differences.md

+ 9 - 4
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.
+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.