mirror of
https://github.com/evennia/evennia.git
synced 2026-03-26 01:36:32 +01:00
Updated HTML docs.
This commit is contained in:
parent
0386a84221
commit
b9423169d8
49 changed files with 813 additions and 281 deletions
|
|
@ -313,14 +313,14 @@
|
|||
|
||||
<span class="k">def</span> <span class="nf">reduce</span><span class="p">(</span><span class="n">function</span><span class="p">,</span> <span class="n">sequence</span><span class="p">,</span> <span class="n">initial</span><span class="o">=</span><span class="n">_initial_missing</span><span class="p">):</span>
|
||||
<span class="sd">"""</span>
|
||||
<span class="sd"> reduce(function, sequence[, initial]) -> value</span>
|
||||
<span class="sd"> reduce(function, iterable[, initial]) -> value</span>
|
||||
|
||||
<span class="sd"> Apply a function of two arguments cumulatively to the items of a sequence,</span>
|
||||
<span class="sd"> from left to right, so as to reduce the sequence to a single value.</span>
|
||||
<span class="sd"> For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates</span>
|
||||
<span class="sd"> Apply a function of two arguments cumulatively to the items of a sequence</span>
|
||||
<span class="sd"> or iterable, from left to right, so as to reduce the iterable to a single</span>
|
||||
<span class="sd"> value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates</span>
|
||||
<span class="sd"> ((((1+2)+3)+4)+5). If initial is present, it is placed before the items</span>
|
||||
<span class="sd"> of the sequence in the calculation, and serves as a default when the</span>
|
||||
<span class="sd"> sequence is empty.</span>
|
||||
<span class="sd"> of the iterable in the calculation, and serves as a default when the</span>
|
||||
<span class="sd"> iterable is empty.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="n">it</span> <span class="o">=</span> <span class="nb">iter</span><span class="p">(</span><span class="n">sequence</span><span class="p">)</span>
|
||||
|
|
@ -329,7 +329,8 @@
|
|||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">value</span> <span class="o">=</span> <span class="nb">next</span><span class="p">(</span><span class="n">it</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">StopIteration</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">"reduce() of empty sequence with no initial value"</span><span class="p">)</span> <span class="kn">from</span> <span class="bp">None</span>
|
||||
<span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span>
|
||||
<span class="s2">"reduce() of empty iterable with no initial value"</span><span class="p">)</span> <span class="kn">from</span> <span class="bp">None</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">value</span> <span class="o">=</span> <span class="n">initial</span>
|
||||
|
||||
|
|
@ -989,24 +990,11 @@
|
|||
<span class="bp">self</span><span class="o">.</span><span class="n">dispatcher</span> <span class="o">=</span> <span class="n">singledispatch</span><span class="p">(</span><span class="n">func</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">func</span> <span class="o">=</span> <span class="n">func</span>
|
||||
|
||||
<span class="c1"># bpo-45678: special-casing for classmethod/staticmethod in Python <=3.9,</span>
|
||||
<span class="c1"># as functools.update_wrapper doesn't work properly in singledispatchmethod.__get__</span>
|
||||
<span class="c1"># if it is applied to an unbound classmethod/staticmethod</span>
|
||||
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">func</span><span class="p">,</span> <span class="p">(</span><span class="nb">staticmethod</span><span class="p">,</span> <span class="nb">classmethod</span><span class="p">)):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_wrapped_func</span> <span class="o">=</span> <span class="n">func</span><span class="o">.</span><span class="vm">__func__</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_wrapped_func</span> <span class="o">=</span> <span class="n">func</span>
|
||||
<span class="k">def</span> <span class="nf">register</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="bp">cls</span><span class="p">,</span> <span class="n">method</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<span class="sd">"""generic_method.register(cls, func) -> func</span>
|
||||
|
||||
<span class="sd"> Registers a new implementation for the given *cls* on a *generic_method*.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="c1"># bpo-39679: in Python <= 3.9, classmethods and staticmethods don't</span>
|
||||
<span class="c1"># inherit __annotations__ of the wrapped function (fixed in 3.10+ as</span>
|
||||
<span class="c1"># a side-effect of bpo-43682) but we need that for annotation-derived</span>
|
||||
<span class="c1"># singledispatches. So we add that just-in-time here.</span>
|
||||
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="p">(</span><span class="nb">staticmethod</span><span class="p">,</span> <span class="nb">classmethod</span><span class="p">)):</span>
|
||||
<span class="bp">cls</span><span class="o">.</span><span class="vm">__annotations__</span> <span class="o">=</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="vm">__func__</span><span class="p">,</span> <span class="s1">'__annotations__'</span><span class="p">,</span> <span class="p">{})</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">dispatcher</span><span class="o">.</span><span class="n">register</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">func</span><span class="o">=</span><span class="n">method</span><span class="p">)</span>
|
||||
|
||||
<span class="k">def</span> <span class="fm">__get__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">obj</span><span class="p">,</span> <span class="bp">cls</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
|
|
@ -1016,7 +1004,7 @@
|
|||
|
||||
<span class="n">_method</span><span class="o">.</span><span class="n">__isabstractmethod__</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__isabstractmethod__</span>
|
||||
<span class="n">_method</span><span class="o">.</span><span class="n">register</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">register</span>
|
||||
<span class="n">update_wrapper</span><span class="p">(</span><span class="n">_method</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_wrapped_func</span><span class="p">)</span>
|
||||
<span class="n">update_wrapper</span><span class="p">(</span><span class="n">_method</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">func</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">_method</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue