doc/rdoc/more/classes/Proc.html in facets-2.4.2 vs doc/rdoc/more/classes/Proc.html in facets-2.4.3
- old
+ new
@@ -55,10 +55,11 @@
<td align="right">
<table cellspacing="0" cellpadding="2">
<tr valign="top">
<td>In:</td>
<td>
+<a href="../files/lib/more/facets/partial_rb.html">lib/more/facets/partial.rb</a>
<a href="../files/lib/more/facets/openobject_rb.html">lib/more/facets/openobject.rb</a>
</td>
</tr>
<tr>
<td>Parent:</td>
@@ -78,25 +79,68 @@
<div class="sectiontitle">Methods</div>
<ul>
- <li><a href="#M000304">to_openobject</a></li>
+ <li><a href="#M000379">partial</a></li>
+ <li><a href="#M000380">to_openobject</a></li>
</ul>
<div class="sectiontitle">Public Instance methods</div>
<div class="method">
<div class="title">
- <a name="M000304"></a><b>to_openobject</b>()
+ <a name="M000379"></a><b>partial</b>(*args)
</div>
<div class="description">
<p>
+Convert a <a href="Proc.html">Proc</a> object into new <a
+href="Proc.html#M000379">partial</a> <a href="Proc.html">Proc</a> object.
+</p>
+<pre>
+ a = proc { |a,b,c| a+b+c }
+ b = a.partial(__, 2, __)
+ b[1,3] #=> 6
+</pre>
+<p>
+This method is similar to Proc#curry.
+</p>
+<p>
+CREDT Trans
+</p>
+<p>
+TODO: Parhaps ArgumentError would suffice, and we don‘t need <a
+href="MissingArgument.html">MissingArgument</a>?
+</p>
+ </div>
+<div class="sourcecode">
+ <p class="source-link">[ <a href="javascript:toggleSource('M000379_source')" id="l_M000379_source">show source</a> ]</p>
+ <div id="M000379_source" class="dyn-source">
+<pre>
+<span class="ruby-comment cmt"># File lib/more/facets/partial.rb, line 27</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">partial</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
+ <span class="ruby-constant">Proc</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-operator">*</span><span class="ruby-identifier">spice</span><span class="ruby-operator">|</span>
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">collect</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span>
+ <span class="ruby-constant">MissingArgument</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">a</span> <span class="ruby-value">? </span><span class="ruby-identifier">spice</span>.<span class="ruby-identifier">pop</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">a</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">call</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">result</span>)
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">end</span>
+</pre>
+ </div>
+</div>
+</div>
+<div class="method">
+ <div class="title">
+ <a name="M000380"></a><b>to_openobject</b>()
+ </div>
+ <div class="description">
+ <p>
Translates a <a href="Proc.html">Proc</a> into an <a
href="OpenObject.html">OpenObject</a>. By droping an <a
href="OpenObject.html">OpenObject</a> into the <a
href="Proc.html">Proc</a>, the resulting assignments incured as the
procedure is evaluated produce the <a
@@ -114,11 +158,11 @@
NOTE The <a href="Proc.html">Proc</a> must have an arity of one —no
more and no less.
</p>
</div>
<div class="sourcecode">
- <p class="source-link">[ <a href="javascript:toggleSource('M000304_source')" id="l_M000304_source">show source</a> ]</p>
- <div id="M000304_source" class="dyn-source">
+ <p class="source-link">[ <a href="javascript:toggleSource('M000380_source')" id="l_M000380_source">show source</a> ]</p>
+ <div id="M000380_source" class="dyn-source">
<pre>
<span class="ruby-comment cmt"># File lib/more/facets/openobject.rb, line 255</span>
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_openobject</span>
<span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">'bad arity for converting Proc to openobject'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arity</span> <span class="ruby-operator">!=</span> <span class="ruby-value">1</span>
<span class="ruby-identifier">o</span> = <span class="ruby-constant">OpenObject</span>.<span class="ruby-identifier">new</span>
\ No newline at end of file