mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-11 22:28:45 +01:00
Regenerate docs.
This commit is contained in:
52
maps.html
52
maps.html
@ -65,10 +65,10 @@ other languages: hash table, dictionary, association, table, etc.</p>
|
||||
<p>You can create a map by placing a series of comma-separated entries inside
|
||||
curly braces. Each entry is a key and a value separated by a colon:</p>
|
||||
<div class="codehilite"><pre><span class="p">{</span>
|
||||
<span class="s2">"George"</span><span class="o">:</span> <span class="s2">"Harrison"</span><span class="p">,</span>
|
||||
<span class="s2">"John"</span><span class="o">:</span> <span class="s2">"Lennon"</span><span class="p">,</span>
|
||||
<span class="s2">"Paul"</span><span class="o">:</span> <span class="s2">"McCartney"</span><span class="p">,</span>
|
||||
<span class="s2">"Ringo"</span><span class="o">:</span> <span class="s2">"Starr"</span>
|
||||
<span class="s">"George"</span><span class="o">:</span> <span class="s">"Harrison"</span><span class="p">,</span>
|
||||
<span class="s">"John"</span><span class="o">:</span> <span class="s">"Lennon"</span><span class="p">,</span>
|
||||
<span class="s">"Paul"</span><span class="o">:</span> <span class="s">"McCartney"</span><span class="p">,</span>
|
||||
<span class="s">"Ringo"</span><span class="o">:</span> <span class="s">"Starr"</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
|
||||
@ -92,10 +92,10 @@ time, even in very large maps. Since Wren only knows how to hash certain
|
||||
built-in types, only those can be used as keys.</p>
|
||||
<h2>Adding entries <a href="#adding-entries" name="adding-entries" class="header-anchor">#</a></h2>
|
||||
<p>You add new key-value pairs to the map by using the <a href="expressions.html#subscript-operators">subscript operator</a>:</p>
|
||||
<div class="codehilite"><pre><span class="kd">var</span> <span class="n">capitals</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="n">capitals</span><span class="p">[</span><span class="s2">"Georgia"</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"Atlanta"</span>
|
||||
<span class="n">capitals</span><span class="p">[</span><span class="s2">"Idaho"</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"Boise"</span>
|
||||
<span class="n">capitals</span><span class="p">[</span><span class="s2">"Maine"</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"Augusta"</span>
|
||||
<div class="codehilite"><pre><span class="k">var</span> <span class="n">capitals</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="n">capitals</span><span class="p">[</span><span class="s">"Georgia"</span><span class="p">]</span> <span class="o">=</span> <span class="s">"Atlanta"</span>
|
||||
<span class="n">capitals</span><span class="p">[</span><span class="s">"Idaho"</span><span class="p">]</span> <span class="o">=</span> <span class="s">"Boise"</span>
|
||||
<span class="n">capitals</span><span class="p">[</span><span class="s">"Maine"</span><span class="p">]</span> <span class="o">=</span> <span class="s">"Augusta"</span>
|
||||
</pre></div>
|
||||
|
||||
|
||||
@ -104,7 +104,7 @@ value. If the key is already there, this just replaces its value.</p>
|
||||
<h2>Looking up values <a href="#looking-up-values" name="looking-up-values" class="header-anchor">#</a></h2>
|
||||
<p>To find the value associated with some key, again you use your friend the
|
||||
subscript operator:</p>
|
||||
<div class="codehilite"><pre><span class="n">IO</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">capitals</span><span class="p">[</span><span class="s2">"Idaho"</span><span class="p">])</span> <span class="c1">// "Boise".</span>
|
||||
<div class="codehilite"><pre><span class="vg">System</span><span class="o">.</span><span class="n">print</span><span class="p">(</span><span class="n">capitals</span><span class="p">[</span><span class="s">"Idaho"</span><span class="p">])</span> <span class="c1">// "Boise".</span>
|
||||
</pre></div>
|
||||
|
||||
|
||||
@ -112,38 +112,38 @@ subscript operator:</p>
|
||||
course, <code>null</code> itself can also be used as a value, so seeing <code>null</code> here
|
||||
doesn't necessarily mean the key wasn't found.</p>
|
||||
<p>To tell definitively if a key exists, you can call <code>containsKey()</code>:</p>
|
||||
<div class="codehilite"><pre><span class="kd">var</span> <span class="n">belief</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"nihilism"</span><span class="o">:</span> <span class="kc">null</span><span class="p">}</span>
|
||||
<div class="codehilite"><pre><span class="k">var</span> <span class="n">belief</span> <span class="o">=</span> <span class="p">{</span><span class="s">"nihilism"</span><span class="o">:</span> <span class="kc">null</span><span class="p">}</span>
|
||||
|
||||
<span class="n">IO</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">belief</span><span class="p">[</span><span class="s2">"nihilism"</span><span class="p">])</span> <span class="c1">// "null" though key exists.</span>
|
||||
<span class="n">IO</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">belief</span><span class="p">[</span><span class="s2">"solipsism"</span><span class="p">])</span> <span class="c1">// Also "null".</span>
|
||||
<span class="n">IO</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">belief</span><span class="p">.</span><span class="n">containsKey</span><span class="p">(</span><span class="s2">"nihilism"</span><span class="p">))</span> <span class="c1">// "true".</span>
|
||||
<span class="n">IO</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">belief</span><span class="p">.</span><span class="n">containsKey</span><span class="p">(</span><span class="s2">"solipsism"</span><span class="p">))</span> <span class="c1">// "false".</span>
|
||||
<span class="vg">System</span><span class="o">.</span><span class="n">print</span><span class="p">(</span><span class="n">belief</span><span class="p">[</span><span class="s">"nihilism"</span><span class="p">])</span> <span class="c1">// "null" though key exists.</span>
|
||||
<span class="vg">System</span><span class="o">.</span><span class="n">print</span><span class="p">(</span><span class="n">belief</span><span class="p">[</span><span class="s">"solipsism"</span><span class="p">])</span> <span class="c1">// Also "null".</span>
|
||||
<span class="vg">System</span><span class="o">.</span><span class="n">print</span><span class="p">(</span><span class="n">belief</span><span class="o">.</span><span class="n">containsKey</span><span class="p">(</span><span class="s">"nihilism"</span><span class="p">))</span> <span class="c1">// "true".</span>
|
||||
<span class="vg">System</span><span class="o">.</span><span class="n">print</span><span class="p">(</span><span class="n">belief</span><span class="o">.</span><span class="n">containsKey</span><span class="p">(</span><span class="s">"solipsism"</span><span class="p">))</span> <span class="c1">// "false".</span>
|
||||
</pre></div>
|
||||
|
||||
|
||||
<p>You can see how many entries a map contains using <code>count</code>:</p>
|
||||
<div class="codehilite"><pre><span class="n">IO</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">capitals</span><span class="p">.</span><span class="n">count</span><span class="p">)</span> <span class="c1">// "3".</span>
|
||||
<div class="codehilite"><pre><span class="vg">System</span><span class="o">.</span><span class="n">print</span><span class="p">(</span><span class="n">capitals</span><span class="o">.</span><span class="n">count</span><span class="p">)</span> <span class="c1">// "3".</span>
|
||||
</pre></div>
|
||||
|
||||
|
||||
<h2>Removing entries <a href="#removing-entries" name="removing-entries" class="header-anchor">#</a></h2>
|
||||
<p>To remove an entry from a map, call <code>remove()</code> and pass in the key for the
|
||||
entry you want to delete:</p>
|
||||
<div class="codehilite"><pre><span class="n">capitals</span><span class="p">.</span><span class="n">remove</span><span class="p">(</span><span class="s2">"Maine"</span><span class="p">)</span>
|
||||
<span class="n">IO</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">capitals</span><span class="p">.</span><span class="n">containsKey</span><span class="p">(</span><span class="s2">"Maine"</span><span class="p">))</span> <span class="c1">// "false".</span>
|
||||
<div class="codehilite"><pre><span class="n">capitals</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="s">"Maine"</span><span class="p">)</span>
|
||||
<span class="vg">System</span><span class="o">.</span><span class="n">print</span><span class="p">(</span><span class="n">capitals</span><span class="o">.</span><span class="n">containsKey</span><span class="p">(</span><span class="s">"Maine"</span><span class="p">))</span> <span class="c1">// "false".</span>
|
||||
</pre></div>
|
||||
|
||||
|
||||
<p>If the key was found, this returns the value that was associated with it:</p>
|
||||
<div class="codehilite"><pre><span class="n">IO</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">capitals</span><span class="p">.</span><span class="n">remove</span><span class="p">(</span><span class="s2">"Georgia"</span><span class="p">))</span> <span class="c1">// "Atlanta".</span>
|
||||
<div class="codehilite"><pre><span class="vg">System</span><span class="o">.</span><span class="n">print</span><span class="p">(</span><span class="n">capitals</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="s">"Georgia"</span><span class="p">))</span> <span class="c1">// "Atlanta".</span>
|
||||
</pre></div>
|
||||
|
||||
|
||||
<p>If the key wasn't in the map to begin with, <code>remove()</code> just returns <code>null</code>.</p>
|
||||
<p>If you want to remove <em>everything</em> from the map, just like with <a href="lists.html">lists</a>, you
|
||||
can just call <code>clear()</code>:</p>
|
||||
<div class="codehilite"><pre><span class="n">capitals</span><span class="p">.</span><span class="n">clear</span><span class="p">()</span>
|
||||
<span class="n">IO</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="n">capitals</span><span class="p">.</span><span class="n">count</span><span class="p">)</span> <span class="c1">// "0".</span>
|
||||
<div class="codehilite"><pre><span class="n">capitals</span><span class="o">.</span><span class="n">clear</span><span class="p">()</span>
|
||||
<span class="vg">System</span><span class="o">.</span><span class="n">print</span><span class="p">(</span><span class="n">capitals</span><span class="o">.</span><span class="n">count</span><span class="p">)</span> <span class="c1">// "0".</span>
|
||||
</pre></div>
|
||||
|
||||
|
||||
@ -155,14 +155,14 @@ For that, map exposes two methods: <code>keys</code> and <code>values</code>.</p
|
||||
map, and the second returns one that iterates over the values.</p>
|
||||
<p>If you want to see all of the key-value pairs in a map, the easiest way is to
|
||||
iterate over the keys and use each to look up its value:</p>
|
||||
<div class="codehilite"><pre><span class="kd">var</span> <span class="n">stateBirds</span> <span class="o">=</span> <span class="p">{</span>
|
||||
<span class="s2">"Arizona"</span><span class="o">:</span> <span class="s2">"Cactus wren"</span><span class="p">,</span>
|
||||
<span class="s2">"Hawaii"</span><span class="o">:</span> <span class="s2">"Nēnē"</span><span class="p">,</span>
|
||||
<span class="s2">"Ohio"</span><span class="o">:</span> <span class="s2">"Northern Cardinal"</span>
|
||||
<div class="codehilite"><pre><span class="k">var</span> <span class="n">birds</span> <span class="o">=</span> <span class="p">{</span>
|
||||
<span class="s">"Arizona"</span><span class="o">:</span> <span class="s">"Cactus wren"</span><span class="p">,</span>
|
||||
<span class="s">"Hawaii"</span><span class="o">:</span> <span class="s">"Nēnē"</span><span class="p">,</span>
|
||||
<span class="s">"Ohio"</span><span class="o">:</span> <span class="s">"Northern Cardinal"</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="k">for</span> <span class="p">(</span><span class="n">state</span> <span class="k">in</span> <span class="n">stateBirds</span><span class="p">.</span><span class="n">keys</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="n">IO</span><span class="p">.</span><span class="n">print</span><span class="p">(</span><span class="s2">"The state bird of "</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="s2">" is "</span><span class="p">,</span> <span class="n">stateBirds</span><span class="p">[</span><span class="n">state</span><span class="p">])</span>
|
||||
<span class="k">for</span> <span class="p">(</span><span class="n">state</span> <span class="k">in</span> <span class="n">birds</span><span class="o">.</span><span class="n">keys</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="vg">System</span><span class="o">.</span><span class="n">print</span><span class="p">(</span><span class="s">"The state bird of "</span> <span class="o">+</span> <span class="n">state</span> <span class="o">+</span> <span class="s">" is "</span> <span class="o">+</span> <span class="n">birds</span><span class="p">[</span><span class="n">state</span><span class="p">])</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user