From fbd62c7b5018e168d1a2e6339453635c5b97253f Mon Sep 17 00:00:00 2001 From: BLUELOVETH Date: Thu, 24 Aug 2023 14:58:36 +0800 Subject: [PATCH] ... --- docs/cheatsheet.md | 1 + docs/features/basic.md | 62 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/docs/cheatsheet.md b/docs/cheatsheet.md index 3e809e7b..99201df5 100644 --- a/docs/cheatsheet.md +++ b/docs/cheatsheet.md @@ -10,6 +10,7 @@ Setup pocketpy ```cpp #include "pocketpy.h" +using namespace pkpy; ``` Create a python virtual machine diff --git a/docs/features/basic.md b/docs/features/basic.md index 3f8b3fd0..c37aad63 100644 --- a/docs/features/basic.md +++ b/docs/features/basic.md @@ -28,4 +28,64 @@ The features marked with `YES` are supported, and the features marked with `NO` | Context Block | `with as :` | YES | | Type Annotation | `def f(a:int, b:float=1)` | YES | | Generator | `yield i` | YES | -| Decorator | `@cache` | YES | \ No newline at end of file +| Decorator | `@cache` | YES | + +## Supported magic methods + +#### Unary operators + ++ `__repr__` ++ `__str__` ++ `__hash__` ++ `__len__` ++ `__iter__` ++ `__next__` ++ `__json__` ++ `__neg__` ++ `__bool__` (unused) + +#### Logical operators + ++ `__eq__` ++ `__lt__` ++ `__le__` ++ `__gt__` ++ `__ge__` ++ `__contains__` + +#### Binary operators + ++ `__add__` ++ `__radd__` ++ `__sub__` ++ `__rsub__` ++ `__mul__` ++ `__rmul__` ++ `__truediv__` ++ `__floordiv__` ++ `__mod__` ++ `__pow__` ++ `__matmul__` ++ `__lshift__` ++ `__rshift__` ++ `__and__` ++ `__or__` ++ `__xor__` ++ `__invert__` + +#### Indexer + ++ `__getitem__` ++ `__setitem__` ++ `__delitem__` + +#### Specials + ++ `__new__` ++ `__init__` ++ `__call__` ++ `__divmod__` ++ `__enter__` ++ `__exit__` ++ `__name__` ++ `__all__`