Skip to content

Commit a16dda5

Browse files
committed
Update Jan 9th
1 parent 42bced7 commit a16dda5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+507
-422
lines changed

js/search.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5147,6 +5147,8 @@ $(function(){
51475147
,
51485148
{ category: "Reference", value: "Distribution", url: "/language/variables#index-entry-Distribution" }
51495149
,
5150+
{ category: "Reference", value: "%?RESOURCES", url: "/language/variables#index-entry-$PERCENT_SIGN%3FRESOURCES" }
5151+
,
51505152
{ category: "Reference", value: "$?PACKAGE", url: "/language/variables#index-entry-$%3FPACKAGE" }
51515153
,
51525154
{ category: "Reference", value: "$?MODULE", url: "/language/variables#index-entry-$%3FMODULE" }
@@ -6127,6 +6129,12 @@ $(function(){
61276129
,
61286130
{ category: "Reference", value: "Signal", url: "/type/Supply#index-entry-Signal" }
61296131
,
6132+
{ category: "Reference", value: "* literal", url: "/type/Whatever#index-entry-*_literal" }
6133+
,
6134+
{ category: "Reference", value: "Whatever literal", url: "/type/Whatever#index-entry-Whatever_literal" }
6135+
,
6136+
{ category: "Reference", value: "Whatever-currying", url: "/type/Whatever#index-entry-Whatever-currying" }
6137+
,
61306138
{ category: "Reference", value: "is default (Attribute)", url: "/type/Attribute#index-entry-is_default_(Attribute)" }
61316139
,
61326140
{ category: "Reference", value: "Trait is default", url: "/type/Attribute#index-entry-Trait_is_default" }

language/hashmap.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ <h1 id="Mutable_hashes_and_immutable_maps"><a class="u" href="#___top" title="go
9797
<p>Assigning a list of elements to a hash variable first empties the variable, and then iterates the elements of the right-hand side (which must contain an even number of elements). Note that hash keys are always coerced to be strings even if they are unquoted, but keys with spaces in their names must be quoted. For example, using the common <a href="/type/Pair">Pair</a> syntax:</p>
9898
<pre class="editor editor-colors"><div class="line"><span class="source raku"><span class="storage modifier declarator raku"><span>my</span></span><span>&nbsp;</span><span class="meta variable container raku"><span class="variable other identifier sigil raku"><span>%</span></span><span class="variable other identifier raku"><span>h</span></span></span><span>&nbsp;</span><span class="storage modifier assignment raku"><span>=</span></span><span>&nbsp;</span><span class="constant numeric raku"><span>1</span></span><span>&nbsp;</span><span class="keyword operator multi-symbol raku"><span>=&gt;</span></span><span>&nbsp;</span><span class="string quoted single single raku"><span class="punctuation definition string begin raku"><span>&#39;</span></span><span>a</span><span class="punctuation definition string end raku"><span>&#39;</span></span></span><span>,&nbsp;</span><span class="string pair key raku"><span>b&nbsp;</span></span><span class="keyword operator multi-symbol raku"><span>=&gt;</span></span><span>&nbsp;</span><span class="constant numeric raku"><span>2</span></span><span>,&nbsp;</span><span class="string quoted single single raku"><span class="punctuation definition string begin raku"><span>&#39;</span></span><span>1&nbsp;2</span><span class="punctuation definition string end raku"><span>&#39;</span></span></span><span>&nbsp;</span><span class="keyword operator multi-symbol raku"><span>=&gt;</span></span><span>&nbsp;</span><span class="constant numeric raku"><span>3</span></span><span>;</span></span></div><div class="line"><span class="source raku"><span class="support function raku"><span>say</span></span><span>&nbsp;</span><span class="meta variable container raku"><span class="variable other identifier sigil raku"><span>%</span></span><span class="variable other identifier raku"><span>h</span></span></span><span class="keyword operator generic raku"><span>.</span></span><span class="support function raku"><span>keys</span></span><span class="keyword operator generic raku"><span>.</span></span><span class="support function raku"><span>sort</span></span><span class="keyword operator generic raku"><span>.</span></span><span class="routine name raku"><span>raku</span></span><span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment line number-sign raku"><span class="punctuation definition comment raku"><span>#</span></span><span>&nbsp;OUTPUT:&nbsp;«(&quot;1&quot;,&nbsp;&quot;1&nbsp;2&quot;,&nbsp;&quot;b&quot;).Seq␤»</span><span>&nbsp;</span></span></span></div><div class="line"><span class="source raku"><span class="support function raku"><span>say</span></span><span>&nbsp;</span><span class="meta variable container raku"><span class="variable other identifier sigil raku"><span>%</span></span><span class="variable other identifier raku"><span>h</span></span></span><span class="keyword operator generic raku"><span>.</span></span><span class="support function raku"><span>values</span></span><span class="keyword operator generic raku"><span>.</span></span><span class="support function raku"><span>sort</span></span><span class="keyword operator generic raku"><span>.</span></span><span class="routine name raku"><span>raku</span></span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment line number-sign raku"><span class="punctuation definition comment raku"><span>#</span></span><span>&nbsp;OUTPUT:&nbsp;«(2,&nbsp;3,&nbsp;&quot;a&quot;).Seq␤»</span></span></span></div></pre><p>The stringification of the keys can lead to surprising results. For example, the Raku module <code>CSV::Parser</code> in one mode returns a CSV data line as a hash of <code>{UInt =&gt; &#39;value&#39;}</code> pairs which can look like this fragment of a 20-field line:</p>
9999
<pre class="editor editor-colors"><div class="line"><span class="source raku"><span class="storage modifier declarator raku"><span>my</span></span><span>&nbsp;</span><span class="meta variable container raku"><span class="variable other identifier sigil raku"><span>%</span></span><span class="variable other identifier raku"><span>csv</span></span></span><span>&nbsp;</span><span class="storage modifier assignment raku"><span>=</span></span><span>&nbsp;</span><span class="string quoted single single raku"><span class="punctuation definition string begin raku"><span>&#39;</span></span><span>2</span><span class="punctuation definition string end raku"><span>&#39;</span></span></span><span>&nbsp;</span><span class="keyword operator multi-symbol raku"><span>=&gt;</span></span><span>&nbsp;</span><span class="string quoted single single raku"><span class="punctuation definition string begin raku"><span>&#39;</span></span><span>a</span><span class="punctuation definition string end raku"><span>&#39;</span></span></span><span>,&nbsp;</span><span class="string quoted single single raku"><span class="punctuation definition string begin raku"><span>&#39;</span></span><span>10</span><span class="punctuation definition string end raku"><span>&#39;</span></span></span><span>&nbsp;</span><span class="keyword operator multi-symbol raku"><span>=&gt;</span></span><span>&nbsp;</span><span class="string quoted single single raku"><span class="punctuation definition string begin raku"><span>&#39;</span></span><span>b</span><span class="punctuation definition string end raku"><span>&#39;</span></span></span><span>;</span></span></div><div class="line"><span class="source raku"><span class="support function raku"><span>say</span></span><span>&nbsp;</span><span class="meta variable container raku"><span class="variable other identifier sigil raku"><span>%</span></span><span class="variable other identifier raku"><span>csv</span></span></span><span class="keyword operator generic raku"><span>.</span></span><span class="support function raku"><span>keys</span></span><span class="keyword operator generic raku"><span>.</span></span><span class="support function raku"><span>sort</span></span><span class="keyword operator generic raku"><span>.</span></span><span class="routine name raku"><span>raku</span></span><span>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment line number-sign raku"><span class="punctuation definition comment raku"><span>#</span></span><span>&nbsp;OUTPUT:&nbsp;«(&quot;10&quot;,&nbsp;&quot;2&quot;).Seq␤»</span></span></span></div></pre><p>The sort result is not what one would normally want. We can use the power of Raku to coerce the string values into integers for the sort. There are several ways that can be done but this method may present the least &quot;line noise&quot; to novices or non-Raku viewers:</p>
100-
<pre class="editor editor-colors"><div class="line"><span class="source raku"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="support function raku"><span>say</span></span><span>&nbsp;</span><span class="meta variable container raku"><span class="variable other identifier sigil raku"><span>%</span></span><span class="variable other identifier raku"><span>csv</span></span></span><span class="keyword operator generic raku"><span>.</span></span><span class="support function raku"><span>keys</span></span><span class="keyword operator generic raku"><span>.</span></span><span class="support function raku"><span>map</span></span><span>(</span><span class="keyword operator generic raku"><span>+</span><span>*</span></span><span>)</span><span class="keyword operator generic raku"><span>.</span></span><span class="support function raku"><span>sort</span></span><span class="keyword operator generic raku"><span>.</span></span><span class="routine name raku"><span>raku</span></span><span>;&nbsp;&nbsp;&nbsp;</span><span class="comment line number-sign raku"><span class="punctuation definition comment raku"><span>#</span></span><span>&nbsp;OUTPUT:&nbsp;«(2,&nbsp;10).Seq␤»</span><span>&nbsp;</span></span></span></div></pre><p>In a hash constructor list the <code>Pair</code> syntax doesn&#39;t have to be used, or it may be intermixed with ordinary list values as long as the list has an even number of elements in total as well as between <code>Pair</code>s. If an element is a <code>Pair</code> type (e.g., &#39;a =&gt; 1&#39;), its key is taken as a new hash key, and its value as the new hash value for that key. Otherwise the value is coerced to <a href="/type/Str">Str</a> and used as a hash key, while the next element of the list is taken as the corresponding value.</p>
100+
<pre class="editor editor-colors"><div class="line"><span class="source raku"><span class="support function raku"><span>say</span></span><span>&nbsp;</span><span class="meta variable container raku"><span class="variable other identifier sigil raku"><span>%</span></span><span class="variable other identifier raku"><span>csv</span></span></span><span class="keyword operator generic raku"><span>.</span></span><span class="support function raku"><span>keys</span></span><span class="keyword operator generic raku"><span>.</span></span><span class="support function raku"><span>map</span></span><span>(</span><span class="keyword operator generic raku"><span>+</span><span>*</span></span><span>)</span><span class="keyword operator generic raku"><span>.</span></span><span class="support function raku"><span>sort</span></span><span class="keyword operator generic raku"><span>.</span></span><span class="routine name raku"><span>raku</span></span><span>;&nbsp;&nbsp;&nbsp;</span><span class="comment line number-sign raku"><span class="punctuation definition comment raku"><span>#</span></span><span>&nbsp;OUTPUT:&nbsp;«(2,&nbsp;10).Seq␤»</span><span>&nbsp;</span></span></span></div></pre><p>In a hash constructor list the <code>Pair</code> syntax doesn&#39;t have to be used, or it may be intermixed with ordinary list values as long as the list has an even number of elements in total as well as between <code>Pair</code>s. If an element is a <code>Pair</code> type (e.g., &#39;a =&gt; 1&#39;), its key is taken as a new hash key, and its value as the new hash value for that key. Otherwise the value is coerced to <a href="/type/Str">Str</a> and used as a hash key, while the next element of the list is taken as the corresponding value.</p>
101101
<pre class="editor editor-colors"><div class="line"><span class="source raku"><span class="storage modifier declarator raku"><span>my</span></span><span>&nbsp;</span><span class="meta variable container raku"><span class="variable other identifier sigil raku"><span>%</span></span><span class="variable other identifier raku"><span>h</span></span></span><span>&nbsp;</span><span class="storage modifier assignment raku"><span>=</span></span><span>&nbsp;</span><span class="string quoted single single raku"><span class="punctuation definition string begin raku"><span>&#39;</span></span><span>a</span><span class="punctuation definition string end raku"><span>&#39;</span></span></span><span>,&nbsp;</span><span class="string quoted single single raku"><span class="punctuation definition string begin raku"><span>&#39;</span></span><span>b</span><span class="punctuation definition string end raku"><span>&#39;</span></span></span><span>,&nbsp;</span><span class="string pair key raku"><span>c&nbsp;</span></span><span class="keyword operator multi-symbol raku"><span>=&gt;</span></span><span>&nbsp;</span><span class="string quoted single single raku"><span class="punctuation definition string begin raku"><span>&#39;</span></span><span>d</span><span class="punctuation definition string end raku"><span>&#39;</span></span></span><span>,&nbsp;</span><span class="string quoted single single raku"><span class="punctuation definition string begin raku"><span>&#39;</span></span><span>e</span><span class="punctuation definition string end raku"><span>&#39;</span></span></span><span>,&nbsp;</span><span class="string quoted single single raku"><span class="punctuation definition string begin raku"><span>&#39;</span></span><span>f</span><span class="punctuation definition string end raku"><span>&#39;</span></span></span><span>;</span></span></div></pre><p>Same as</p>
102102
<pre class="editor editor-colors"><div class="line"><span class="source raku"><span class="storage modifier declarator raku"><span>my</span></span><span>&nbsp;</span><span class="meta variable container raku"><span class="variable other identifier sigil raku"><span>%</span></span><span class="variable other identifier raku"><span>h</span></span></span><span>&nbsp;</span><span class="storage modifier assignment raku"><span>=</span></span><span>&nbsp;</span><span class="string pair key raku"><span>a&nbsp;</span></span><span class="keyword operator multi-symbol raku"><span>=&gt;</span></span><span>&nbsp;</span><span class="string quoted single single raku"><span class="punctuation definition string begin raku"><span>&#39;</span></span><span>b</span><span class="punctuation definition string end raku"><span>&#39;</span></span></span><span>,&nbsp;</span><span class="string pair key raku"><span>c&nbsp;</span></span><span class="keyword operator multi-symbol raku"><span>=&gt;</span></span><span>&nbsp;</span><span class="string quoted single single raku"><span class="punctuation definition string begin raku"><span>&#39;</span></span><span>d</span><span class="punctuation definition string end raku"><span>&#39;</span></span></span><span>,&nbsp;</span><span class="string pair key raku"><span>e&nbsp;</span></span><span class="keyword operator multi-symbol raku"><span>=&gt;</span></span><span>&nbsp;</span><span class="string quoted single single raku"><span class="punctuation definition string begin raku"><span>&#39;</span></span><span>f</span><span class="punctuation definition string end raku"><span>&#39;</span></span></span><span>;</span></span></div></pre><p>or</p>
103103
<pre class="editor editor-colors"><div class="line"><span class="source raku"><span class="storage modifier declarator raku"><span>my</span></span><span>&nbsp;</span><span class="meta variable container raku"><span class="variable other identifier sigil raku"><span>%</span></span><span class="variable other identifier raku"><span>h</span></span></span><span>&nbsp;</span><span class="storage modifier assignment raku"><span>=</span></span><span>&nbsp;</span><span class="span keyword operator array words raku"><span>&lt;</span></span><span class="string array words raku"><span>a&nbsp;b&nbsp;c&nbsp;d&nbsp;e&nbsp;f</span></span><span class="span keyword operator array words raku"><span>&gt;</span></span><span>;</span></span></div></pre><p>or even</p>

0 commit comments

Comments
 (0)