Browse Source

Enum

pull/180/head
Jure Šorn 11 months ago
parent
commit
295b975d8b
2 changed files with 26 additions and 30 deletions
  1. 24
      README.md
  2. 32
      index.html

24
README.md

@ -1341,25 +1341,23 @@ class <enum_name>(Enum):
* **Methods receive the member they were called on as the 'self' argument.**
```python
<member> = <enum>.<member_name> # Returns a member.
<member> = <enum>['<member_name>'] # Returns a member. Raises KeyError.
<member> = <enum>(<value>) # Returns a member. Raises ValueError.
<str> = <member>.name # Returns member's name.
<obj> = <member>.value # Returns member's value.
<member> = <enum>.<member_name> # Returns a member.
<member> = <enum>['<member_name>'] # Returns a member. Raises KeyError.
<member> = <enum>(<value>) # Returns a member. Raises ValueError.
<str> = <member>.name # Returns member's name.
<obj> = <member>.value # Returns member's value.
```
```python
<list> = list(<enum>) # Returns enum's members.
<list> = [a.name for a in <enum>] # Returns enum's member names.
<list> = [a.value for a in <enum>] # Returns enum's member values.
<member> = random.choice(list(<enum>)) # Returns a random member.
<list> = list(<enum>) # Returns enum's members.
<list> = [a.name for a in <enum>] # Returns enum's member names.
<list> = [a.value for a in <enum>] # Returns enum's member values.
```
```python
def get_next_member(member):
members = list(type(member))
index = members.index(member) + 1
return members[index % len(members)]
<enum> = type(<member>) # Returns member's enum.
<iter> = itertools.cycle(<enum>) # Retruns endless iterator of members.
<member> = random.choice(list(<enum>)) # Returns a random member.
```
### Inline

32
index.html

@ -54,7 +54,7 @@
<body>
<header>
<aside>February 28, 2024</aside>
<aside>March 6, 2024</aside>
<a href="https://gto76.github.io" rel="author">Jure Šorn</a>
</header>
@ -1149,21 +1149,19 @@ Hello World!
<li><strong>Accessing a member named after a reserved keyword causes SyntaxError.</strong></li>
<li><strong>Methods receive the member they were called on as the 'self' argument.</strong></li>
</ul>
<pre><code class="python language-python hljs">&lt;member&gt; = &lt;enum&gt;.&lt;member_name&gt; <span class="hljs-comment"># Returns a member.</span>
&lt;member&gt; = &lt;enum&gt;[<span class="hljs-string">'&lt;member_name&gt;'</span>] <span class="hljs-comment"># Returns a member. Raises KeyError.</span>
&lt;member&gt; = &lt;enum&gt;(&lt;value&gt;) <span class="hljs-comment"># Returns a member. Raises ValueError.</span>
&lt;str&gt; = &lt;member&gt;.name <span class="hljs-comment"># Returns member's name.</span>
&lt;obj&gt; = &lt;member&gt;.value <span class="hljs-comment"># Returns member's value.</span>
</code></pre>
<pre><code class="python language-python hljs">&lt;list&gt; = list(&lt;enum&gt;) <span class="hljs-comment"># Returns enum's members.</span>
&lt;list&gt; = [a.name <span class="hljs-keyword">for</span> a <span class="hljs-keyword">in</span> &lt;enum&gt;] <span class="hljs-comment"># Returns enum's member names.</span>
&lt;list&gt; = [a.value <span class="hljs-keyword">for</span> a <span class="hljs-keyword">in</span> &lt;enum&gt;] <span class="hljs-comment"># Returns enum's member values.</span>
&lt;member&gt; = random.choice(list(&lt;enum&gt;)) <span class="hljs-comment"># Returns a random member.</span>
</code></pre>
<pre><code class="python language-python hljs"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">get_next_member</span><span class="hljs-params">(member)</span>:</span>
members = list(type(member))
index = members.index(member) + <span class="hljs-number">1</span>
<span class="hljs-keyword">return</span> members[index % len(members)]
<pre><code class="python language-python hljs">&lt;member&gt; = &lt;enum&gt;.&lt;member_name&gt; <span class="hljs-comment"># Returns a member.</span>
&lt;member&gt; = &lt;enum&gt;[<span class="hljs-string">'&lt;member_name&gt;'</span>] <span class="hljs-comment"># Returns a member. Raises KeyError.</span>
&lt;member&gt; = &lt;enum&gt;(&lt;value&gt;) <span class="hljs-comment"># Returns a member. Raises ValueError.</span>
&lt;str&gt; = &lt;member&gt;.name <span class="hljs-comment"># Returns member's name.</span>
&lt;obj&gt; = &lt;member&gt;.value <span class="hljs-comment"># Returns member's value.</span>
</code></pre>
<pre><code class="python language-python hljs">&lt;list&gt; = list(&lt;enum&gt;) <span class="hljs-comment"># Returns enum's members.</span>
&lt;list&gt; = [a.name <span class="hljs-keyword">for</span> a <span class="hljs-keyword">in</span> &lt;enum&gt;] <span class="hljs-comment"># Returns enum's member names.</span>
&lt;list&gt; = [a.value <span class="hljs-keyword">for</span> a <span class="hljs-keyword">in</span> &lt;enum&gt;] <span class="hljs-comment"># Returns enum's member values.</span>
</code></pre>
<pre><code class="python language-python hljs">&lt;enum&gt; = type(&lt;member&gt;) <span class="hljs-comment"># Returns member's enum.</span>
&lt;iter&gt; = itertools.cycle(&lt;enum&gt;) <span class="hljs-comment"># Retruns endless iterator of members.</span>
&lt;member&gt; = random.choice(list(&lt;enum&gt;)) <span class="hljs-comment"># Returns a random member.</span>
</code></pre>
<div><h3 id="inline-1">Inline</h3><pre><code class="python language-python hljs">Cutlery = Enum(<span class="hljs-string">'Cutlery'</span>, <span class="hljs-string">'FORK KNIFE SPOON'</span>)
Cutlery = Enum(<span class="hljs-string">'Cutlery'</span>, [<span class="hljs-string">'FORK'</span>, <span class="hljs-string">'KNIFE'</span>, <span class="hljs-string">'SPOON'</span>])
@ -2937,7 +2935,7 @@ $ deactivate <span class="hljs-comment"># Deactivates the activ
<footer>
<aside>February 28, 2024</aside>
<aside>March 6, 2024</aside>
<a href="https://gto76.github.io" rel="author">Jure Šorn</a>
</footer>

Loading…
Cancel
Save