[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[sc-dev] SF.net SVN: supercollider:[8164] trunk/build
Revision: 8164
http://supercollider.svn.sourceforge.net/supercollider/?rev=8164&view=rev
Author: jrhb
Date: 2008-12-16 12:30:49 +0000 (Tue, 16 Dec 2008)
Log Message:
-----------
reverse argument order of idle
Modified Paths:
--------------
trunk/build/Help/Core/Kernel/Routine.html
trunk/build/Help/Core/Object.html
trunk/build/Help/Math/SimpleNumber.html
trunk/build/SCClassLibrary/Common/Core/Object.sc
Modified: trunk/build/Help/Core/Kernel/Routine.html
===================================================================
--- trunk/build/Help/Core/Kernel/Routine.html 2008-12-16 10:02:18 UTC (rev 8163)
+++ trunk/build/Help/Core/Kernel/Routine.html 2008-12-16 12:30:49 UTC (rev 8164)
@@ -13,22 +13,22 @@
p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #606060}
p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; min-height: 12.0px}
-p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Helvetica}
-p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #5f3629}
-p.p9 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #1e3798}
-p.p10 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #a41c14}
-p.p11 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #bf0000}
+p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #ad140d}
+p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Helvetica}
+p.p9 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #5a372a}
+p.p10 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #1f3b94}
+p.p11 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #952118}
p.p12 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco; min-height: 16.0px}
-span.s1 {color: #0c2eee}
-span.s2 {color: #1e3798}
+span.s1 {color: #003ae7}
+span.s2 {color: #1f3b94}
span.s3 {color: #000000}
span.s4 {color: #606060}
-span.s5 {color: #193ae8}
-span.s6 {color: #5e6538}
-span.s7 {color: #0018b8}
-span.s8 {color: #a41c14}
-span.s9 {color: #0000ff}
-span.s10 {color: #0000bf}
+span.s5 {color: #1443e2}
+span.s6 {color: #0024f8}
+span.s7 {color: #001bb9}
+span.s8 {color: #60643b}
+span.s9 {color: #0024b3}
+span.s10 {color: #952118}
span.Apple-tab-span {white-space:pre}
</style>
</head>
@@ -155,11 +155,54 @@
<p class="p3">pausing for that many seconds, and then resume the routine, passing it it the clock's current time.</p>
<p class="p2"><br></p>
<p class="p2"><br></p>
+<p class="p3"><b>using Object-idle:<span class="Apple-converted-space"> </span></b></p>
+<p class="p2"><b></b><br></p>
+<p class="p3"><b>idle(time)</b></p>
+<p class="p3"><span class="Apple-tab-span"> </span>within a routine, return values until this time is over. Time is measured relative to the thread's clock.</p>
+<p class="p3"><span class="Apple-tab-span"> </span>(see <a href="Routine.html"><span class="s6">Routine</span></a>)</p>
+<p class="p6"><span class="Apple-tab-span"> </span></p>
+<p class="p7"><span class="s3"><span class="Apple-tab-span"> </span></span>// for 6 seconds, return 200, then continue</p>
+<p class="p4"><span class="Apple-tab-span"> </span>(</p>
+<p class="p4"><span class="Apple-tab-span"> </span>r = <span class="s7">Routine</span> {</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>199.yield;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>189.yield;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>200.idle(6);</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>199.yield;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>189.yield;</p>
+<p class="p4"><span class="Apple-tab-span"> </span>};</p>
+<p class="p6"><span class="Apple-tab-span"> </span></p>
+<p class="p4"><span class="Apple-tab-span"> </span>fork {</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>loop {</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>r.value.postln;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.wait;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}</p>
+<p class="p4"><span class="Apple-tab-span"> </span>}</p>
+<p class="p4"><span class="Apple-tab-span"> </span>);</p>
+<p class="p6"><span class="Apple-tab-span"> </span></p>
+<p class="p7"><span class="s3"><span class="Apple-tab-span"> </span></span>// the value can also be a stream or a function</p>
+<p class="p4"><span class="Apple-tab-span"> </span>(</p>
+<p class="p4"><span class="Apple-tab-span"> </span>r = <span class="s7">Routine</span> {</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>199.yield;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>189.yield;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s7">Routine</span> { 100.do { <span class="s7">|i|</span> i.yield } }.idle(6);</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>199.yield;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>189.yield;</p>
+<p class="p4"><span class="Apple-tab-span"> </span>};</p>
+<p class="p6"><span class="Apple-tab-span"> </span></p>
+<p class="p4"><span class="Apple-tab-span"> </span>fork {</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>loop {</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>r.value.postln;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.wait;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}</p>
+<p class="p4"><span class="Apple-tab-span"> </span>}</p>
+<p class="p4"><span class="Apple-tab-span"> </span>);</p>
+<p class="p6"><span class="Apple-tab-span"> </span></p>
<p class="p2"><br></p>
-<p class="p7"><b>Accessible instance variables</b></p>
<p class="p2"><br></p>
+<p class="p8"><b>Accessible instance variables</b></p>
<p class="p2"><br></p>
<p class="p2"><br></p>
+<p class="p2"><br></p>
<p class="p3"><b><i>Routine</i> inherits from <i>Thread</i>, which allows access to some of its state:</b></p>
<p class="p2"><br></p>
<p class="p2"><br></p>
@@ -179,7 +222,7 @@
<p class="p4">(</p>
<p class="p4">r = <span class="s2">Routine</span> { <span class="s2">arg</span> inval;</p>
<p class="p4"><span class="Apple-tab-span"> </span>loop {</p>
-<p class="p8"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// thisThread refers to the routine.</p>
+<p class="p9"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// thisThread refers to the routine.</p>
<p class="p5"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>postf(</span>"beats: % seconds: % time: % \n"<span class="s3">,<span class="Apple-converted-space"> </span></span></p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s2">thisThread</span>.beats, <span class="s2">thisThread</span>.seconds, <span class="s2">Main</span>.elapsedTime</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>);</p>
@@ -210,18 +253,18 @@
<p class="p4"><span class="Apple-tab-span"> </span>inval = 99.yield;</p>
<p class="p4">});</p>
<p class="p6"><br></p>
-<p class="p4">outval = r.next(<span class="s6">'a'</span>);</p>
+<p class="p4">outval = r.next(<span class="s8">'a'</span>);</p>
<p class="p4">(<span class="s4">"<-outval was "</span> ++ outval).postln;</p>
-<p class="p4">outval = r.next(<span class="s6">'b'</span>);</p>
+<p class="p4">outval = r.next(<span class="s8">'b'</span>);</p>
<p class="p4">(<span class="s4">"<-outval was "</span> ++ outval).postln;</p>
<p class="p4">r.reset; <span class="s4">"reset"</span>.postln;</p>
-<p class="p4">outval = r.next(<span class="s6">'c'</span>);</p>
+<p class="p4">outval = r.next(<span class="s8">'c'</span>);</p>
<p class="p4">(<span class="s4">"<-outval was "</span> ++ outval).postln;</p>
-<p class="p4">outval = r.next(<span class="s6">'d'</span>);</p>
+<p class="p4">outval = r.next(<span class="s8">'d'</span>);</p>
<p class="p4">(<span class="s4">"<-outval was "</span> ++ outval).postln;</p>
-<p class="p4">outval = r.next(<span class="s6">'e'</span>);</p>
+<p class="p4">outval = r.next(<span class="s8">'e'</span>);</p>
<p class="p4">(<span class="s4">"<-outval was "</span> ++ outval).postln;</p>
-<p class="p4">outval = r.next(<span class="s6">'f'</span>);</p>
+<p class="p4">outval = r.next(<span class="s8">'f'</span>);</p>
<p class="p4">(<span class="s4">"<-outval was "</span> ++ outval).postln;</p>
<p class="p4">)</p>
<p class="p6"><br></p>
@@ -232,43 +275,43 @@
<p class="p4">r = <span class="s2">Routine</span>.new({</p>
<p class="p4"><span class="Apple-tab-span"> </span>10.do({ <span class="s2">arg</span> a;</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>a.postln;</p>
-<p class="p8"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// Often you might see Wait being used to pause a routine</p>
-<p class="p8"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// This waits for one second between each number</p>
+<p class="p9"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// Often you might see Wait being used to pause a routine</p>
+<p class="p9"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// This waits for one second between each number</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.wait;</p>
<p class="p4"><span class="Apple-tab-span"> </span>});</p>
-<p class="p8"><span class="s3"><span class="Apple-tab-span"> </span></span>// Wait half second before saying we're done</p>
+<p class="p9"><span class="s3"><span class="Apple-tab-span"> </span></span>// Wait half second before saying we're done</p>
<p class="p4"><span class="Apple-tab-span"> </span>0.5.wait;</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="s4">"done"</span>.postln;</p>
<p class="p4">});</p>
<p class="p6"><br></p>
-<p class="p9">SystemClock<span class="s3">.play(r);</span></p>
+<p class="p10">SystemClock<span class="s3">.play(r);</span></p>
<p class="p4">)</p>
<p class="p6"><br></p>
<p class="p6"><br></p>
-<p class="p10">// Using Routine to set button states on the fly.</p>
+<p class="p11">// Using Routine to set button states on the fly.</p>
<p class="p4">(</p>
-<p class="p4"><span class="s7">var</span> update, w, b;</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>w = <span class="s7">SCWindow</span>.new(<span class="s4">"State Window"</span>, <span class="s7">Rect</span>(150,<span class="s7">SCWindow</span>.screenBounds.height-140,380,60));</p>
+<p class="p4"><span class="s9">var</span> update, w, b;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>w = <span class="s9">SCWindow</span>.new(<span class="s4">"State Window"</span>, <span class="s9">Rect</span>(150,<span class="s9">SCWindow</span>.screenBounds.height-140,380,60));</p>
<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p10"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// a convenient way to set the button label</p>
+<p class="p11"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// a convenient way to set the button label</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>update = {<span class="Apple-converted-space"> </span></p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s7">|but, string|</span> but.states = [[string.asString, <span class="s7">Color</span>.black, <span class="s7">Color</span>.red]];<span class="Apple-converted-space"> </span></p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s9">|but, string|</span> but.states = [[string.asString, <span class="s9">Color</span>.black, <span class="s9">Color</span>.red]];<span class="Apple-converted-space"> </span></p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>but.refresh;</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>};</p>
<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>b = <span class="s7">SCButton</span>(w, <span class="s7">Rect</span>(10,10,360,40));</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>b.font_(<span class="s7">Font</span>(<span class="s4">"Impact"</span>, 24));</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>b = <span class="s9">SCButton</span>(w, <span class="s9">Rect</span>(10,10,360,40));</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>b.font_(<span class="s9">Font</span>(<span class="s4">"Impact"</span>, 24));</p>
<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
<p class="p5"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>update.value(b, </span>"there is only one state"<span class="s3">);</span></p>
<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p10"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// if an action should do something different each time it is called, a routine is the<span class="Apple-converted-space"> </span></p>
-<p class="p10"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// right thing to use. This is better than creating variables outside and setting them</p>
-<p class="p10"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// from the action function to keep state from one action to the next</p>
+<p class="p11"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// if an action should do something different each time it is called, a routine is the<span class="Apple-converted-space"> </span></p>
+<p class="p11"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// right thing to use. This is better than creating variables outside and setting them</p>
+<p class="p11"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// from the action function to keep state from one action to the next</p>
<p class="p6"><br></p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>b.action_(<span class="s7">Routine</span> { <span class="s7">|butt|</span></p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>rrand(15, 45).do { <span class="s7">|i|</span></p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>b.action_(<span class="s9">Routine</span> { <span class="s9">|butt|</span></p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>rrand(15, 45).do { <span class="s9">|i|</span></p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>update.value(butt, <span class="s4">"%. there is still only 1 state"</span>.format(i + 2));</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>0.yield; <span class="s8">// stop here</span></p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>0.yield; <span class="s10">// stop here</span></p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>};</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>w.close;</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>});</p>
@@ -276,34 +319,34 @@
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>w.front;</p>
<p class="p4">)</p>
<p class="p6"><br></p>
-<p class="p11">// drawing in a window dynamcially with <a href="../../GUI/Pen.html"><span class="s9">Pen</span></a></p>
+<p class="p7">// drawing in a window dynamcially with <a href="../../GUI/Pen.html"><span class="s6">Pen</span></a></p>
<p class="p4">(</p>
-<p class="p4"><span class="s10">var</span> w, much = 0.02, string, synth;</p>
+<p class="p4"><span class="s7">var</span> w, much = 0.02, string, synth;</p>
<p class="p6"><br></p>
-<p class="p4">w = <span class="s10">GUI</span>.window.new(<span class="s4">"swing"</span>, <span class="s10">Rect</span>(100, 100, 300, 500)).front;</p>
-<p class="p4">w.view.background_(<span class="s10">Color</span>.new255(153, 255, 102).vary);</p>
+<p class="p4">w = <span class="s7">GUI</span>.window.new(<span class="s4">"swing"</span>, <span class="s7">Rect</span>(100, 100, 300, 500)).front;</p>
+<p class="p4">w.view.background_(<span class="s7">Color</span>.new255(153, 255, 102).vary);</p>
<p class="p6"><br></p>
<p class="p4">string = <span class="s4">"swing "</span>.dup(24).join;</p>
<p class="p6"><br></p>
-<p class="p4">w.drawHook = <span class="s10">Routine</span> {<span class="Apple-tab-span"> </span></p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="s10">var</span> i = 0;</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="s10">var</span> size = 40;</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="s10">var</span> func = { <span class="s10">|i, j|</span> sin(i * 0.07 + (j * 0.0023) + 1.5pi) * much + 1 };</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="s10">var</span> scale;</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="s10">Pen</span>.font = <span class="s10">Font</span>(<span class="s4">"Helvetica-Bold"</span>, 40);</p>
+<p class="p4">w.drawHook = <span class="s7">Routine</span> {<span class="Apple-tab-span"> </span></p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="s7">var</span> i = 0;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="s7">var</span> size = 40;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="s7">var</span> func = { <span class="s7">|i, j|</span> sin(i * 0.07 + (j * 0.0023) + 1.5pi) * much + 1 };</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="s7">var</span> scale;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="s7">Pen</span>.font = <span class="s7">Font</span>(<span class="s4">"Helvetica-Bold"</span>, 40);</p>
<p class="p4"><span class="Apple-tab-span"> </span>loop {<span class="Apple-tab-span"> </span></p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>i = i + 1;</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>string.do {<span class="Apple-tab-span"> </span> <span class="s10">|char, j|</span></p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>string.do {<span class="Apple-tab-span"> </span><span class="s7">|char, j|</span></p>
<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>scale = func.value(i, j).dup(6);</p>
<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s10">Pen</span>.fillColor = <span class="s10">Color</span>.new255(0, 120, 120).vary;</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s10">Pen</span>.matrix = scale * #[1, 0, 0, 1, 1, 0];</p>
-<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s10">Pen</span>.stringAtPoint(char.asString,</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s7">Pen</span>.fillColor = <span class="s7">Color</span>.new255(0, 120, 120).vary;</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s7">Pen</span>.matrix = scale * #[1, 0, 0, 1, 1, 0];</p>
+<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s7">Pen</span>.stringAtPoint(char.asString,</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>((size * (j % 9)) - 10) @ (size * (j div: 9))</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>);</p>
<p class="p4"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>};</p>
-<p class="p11"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>0.yield </span>// stop here, return something unimportant</p>
+<p class="p7"><span class="s3"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>0.yield </span>// stop here, return something unimportant</p>
<p class="p4"><span class="Apple-tab-span"> </span>}</p>
<p class="p4">};</p>
<p class="p6"><br></p>
Modified: trunk/build/Help/Core/Object.html
===================================================================
--- trunk/build/Help/Core/Object.html 2008-12-16 10:02:18 UTC (rev 8163)
+++ trunk/build/Help/Core/Object.html 2008-12-16 12:30:49 UTC (rev 8164)
@@ -10,38 +10,35 @@
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; min-height: 12.0px}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px}
-p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #001bec}
+p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #0021e7}
p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica}
p.p6 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; min-height: 12.0px}
p.p7 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 12.0px Helvetica}
p.p8 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 12.0px Helvetica; min-height: 14.0px}
p.p9 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco}
p.p10 {margin: 0.0px 0.0px 0.0px 85.0px; text-indent: -85.0px; font: 12.0px Helvetica; min-height: 14.0px}
-p.p11 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #000000}
-p.p12 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #000000; min-height: 12.0px}
-p.p13 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #bf0000}
-p.p14 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 14.0px Helvetica}
-p.p15 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
-p.p16 {margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px}
-p.p17 {margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco}
-p.p18 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #0016bd}
-p.p19 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #ae1a19}
+p.p11 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #ad140d}
+p.p12 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 14.0px Helvetica}
+p.p13 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
+p.p14 {margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px}
+p.p15 {margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco}
+p.p16 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #0023b8}
+p.p17 {margin: 0.0px 0.0px 0.0px 57.0px; text-indent: -57.0px; font: 9.0px Monaco; color: #9e201c}
span.s1 {font: 18.0px Helvetica}
span.s2 {color: #000000}
span.s3 {text-decoration: underline}
-span.s4 {color: #001dfd}
+span.s4 {color: #002ff6}
span.s5 {font: 12.0px Helvetica}
-span.s6 {color: #2b7000}
-span.s7 {color: #0016bd}
-span.s8 {color: #0000ff}
-span.s9 {font: 12.0px Helvetica; color: #000000}
-span.s10 {color: #0000bf}
-span.s11 {color: #606060}
-span.s12 {color: #bf0000}
-span.s13 {font: 9.0px Monaco}
-span.s14 {color: #0026b0}
-span.s15 {color: #4d6a20}
-span.s16 {font: 10.0px Monaco}
+span.s6 {color: #3c6d14}
+span.s7 {color: #0023b8}
+span.s8 {color: #0024f8}
+span.s9 {color: #001bb9}
+span.s10 {color: #606060}
+span.s11 {color: #ad140d}
+span.s12 {font: 9.0px Monaco}
+span.s13 {color: #002eab}
+span.s14 {color: #536826}
+span.s15 {font: 10.0px Monaco}
span.Apple-tab-span {white-space:pre}
</style>
</head>
@@ -110,27 +107,27 @@
<p class="p8"><b><span class="Apple-tab-span"> </span></b></p>
<p class="p7"><b><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></b>Read in an object from a text archive. <b>pathname</b> is a <a href="../Collections/String.html"><span class="s8">String</span></a> containing the archive file's path.</p>
<p class="p8"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p11"><span class="s9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>a = <span class="s10">Array</span>.fill(100, {100.0.rand});</p>
-<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>a.writeArchive(<span class="s10">PathName</span>.tmp ++ <span class="s11">"myArray"</span>);</p>
-<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>b = <span class="s10">Object</span>.readArchive(<span class="s10">PathName</span>.tmp ++ <span class="s11">"myArray"</span>);</p>
-<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>a == b <span class="s12">// true</span></p>
-<p class="p12"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p13"><span class="s2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>/////////</p>
-<p class="p12"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p13"><span class="s2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// closed Function</p>
-<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>(</p>
-<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>f = { 1 + 2 };</p>
-<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>f.writeArchive(<span class="s10">PathName</span>.tmp ++ <span class="s11">"myFunc"</span>); <span class="s12">// succeeds</span></p>
-<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>)</p>
-<p class="p13"><span class="s2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// open Function</p>
-<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>(</p>
-<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s10">var</span> num;</p>
-<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>num = 2;</p>
-<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>f = { num + 2 };</p>
-<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>f.writeArchive(<span class="s10">PathName</span>.tmp ++ <span class="s11">"myFunc"</span>); <span class="s12">// fails</span></p>
-<p class="p11"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>)</p>
+<p class="p9"><span class="s5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>a = <span class="s9">Array</span>.fill(100, {100.0.rand});</p>
+<p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>a.writeArchive(<span class="s9">PathName</span>.tmp ++ <span class="s10">"myArray"</span>);</p>
+<p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>b = <span class="s9">Object</span>.readArchive(<span class="s9">PathName</span>.tmp ++ <span class="s10">"myArray"</span>);</p>
+<p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>a == b <span class="s11">// true</span></p>
+<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
+<p class="p11"><span class="s2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>/////////</p>
+<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
+<p class="p11"><span class="s2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// closed Function</p>
+<p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>(</p>
+<p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>f = { 1 + 2 };</p>
+<p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>f.writeArchive(<span class="s9">PathName</span>.tmp ++ <span class="s10">"myFunc"</span>); <span class="s11">// succeeds</span></p>
+<p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>)</p>
+<p class="p11"><span class="s2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>// open Function</p>
+<p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>(</p>
+<p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s9">var</span> num;</p>
+<p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>num = 2;</p>
+<p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>f = { num + 2 };</p>
+<p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>f.writeArchive(<span class="s9">PathName</span>.tmp ++ <span class="s10">"myFunc"</span>); <span class="s11">// fails</span></p>
+<p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>)</p>
<p class="p8"><span class="Apple-converted-space"> </span></p>
-<p class="p14"><b>Equality and Identity</b></p>
+<p class="p12"><b>Equality and Identity</b></p>
<p class="p6"><br></p>
<p class="p7"><b><span class="Apple-tab-span"> </span>== anotherObject</b></p>
<p class="p8"><b><span class="Apple-tab-span"> </span></b></p>
@@ -194,33 +191,33 @@
<p class="p8"><b><span class="Apple-tab-span"> </span></b></p>
<p class="p7"><b><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></b>Object implements a switch<b> </b>method which allows for conditional evaluation with multiple cases. These are implemented as pairs of test objects (tested using if this == test.value) and corresponding functions to be evaluated if true. In order for switch to be inlined (and thus be as efficient as nested if statements) the matching values must be literal Integers, Floats, Chars, Symbols and the functions must have no variables or arguments.</p>
<p class="p8"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">(</span></p>
-<p class="p15"><span class="s14"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>var</span> x, z;</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>z = [0, 1, 1.1, 1.3, 1.5, 2];</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>switch (z.choose.postln,</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1, <span class="Apple-converted-space"> </span>{ <span class="s15">\no</span> },</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.1, { <span class="s15">\wrong</span> },</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.3, { <span class="s15">\wrong</span> },</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.5, { <span class="s15">\wrong</span> },</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>2, <span class="Apple-converted-space"> </span>{ <span class="s15">\wrong</span> },</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>0, <span class="Apple-converted-space"> </span>{ <span class="s15">\true</span> }</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>).postln;</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>)</p>
+<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s12">(</span></p>
+<p class="p13"><span class="s13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>var</span> x, z;</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>z = [0, 1, 1.1, 1.3, 1.5, 2];</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>switch (z.choose.postln,</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1, <span class="Apple-converted-space"> </span>{ <span class="s14">\no</span> },</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.1, { <span class="s14">\wrong</span> },</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.3, { <span class="s14">\wrong</span> },</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.5, { <span class="s14">\wrong</span> },</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>2, <span class="Apple-converted-space"> </span>{ <span class="s14">\wrong</span> },</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>0, <span class="Apple-converted-space"> </span>{ <span class="s14">\true</span> }</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>).postln;</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>)</p>
<p class="p2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p1"><span class="s16"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>or:</p>
-<p class="p16"><span class="s5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
-<p class="p17"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">(</span></p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s14">var</span> x, z;</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>z = [0, 1, 1.1, 1.3, 1.5, 2];</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>x = switch (z.choose)</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>{1} <span class="Apple-converted-space"> </span>{ <span class="s15">\no</span> }</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>{1.1} { <span class="s15">\wrong</span> }</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>{1.3} { <span class="s15">\wrong</span> }</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>{1.5} { <span class="s15">\wrong</span> }</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>{2} <span class="Apple-converted-space"> </span>{ <span class="s15">\wrong</span> }</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>{0} <span class="Apple-converted-space"> </span>{ <span class="s15">\true</span> };</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>x.postln;</p>
-<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>)</p>
+<p class="p1"><span class="s15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>or:</p>
+<p class="p14"><span class="s5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
+<p class="p15"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s12">(</span></p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s13">var</span> x, z;</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>z = [0, 1, 1.1, 1.3, 1.5, 2];</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>x = switch (z.choose)</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>{1} <span class="Apple-converted-space"> </span>{ <span class="s14">\no</span> }</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>{1.1} { <span class="s14">\wrong</span> }</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>{1.3} { <span class="s14">\wrong</span> }</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>{1.5} { <span class="s14">\wrong</span> }</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>{2} <span class="Apple-converted-space"> </span>{ <span class="s14">\wrong</span> }</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>{0} <span class="Apple-converted-space"> </span>{ <span class="s14">\true</span> };</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>x.postln;</p>
+<p class="p13"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>)</p>
<p class="p2"><br></p>
<p class="p5"><b>Messaging</b></p>
<p class="p2"><br></p>
@@ -290,6 +287,10 @@
<p class="p8"><b><span class="Apple-tab-span"> </span></b></p>
<p class="p7"><b><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></b>Must be called from inside a <a href="Kernel/Routine.html"><span class="s4">Routine</span></a><b>. </b>Yields control to the calling thread. The receiver is the result passed to the calling thread's method. The Routine, when called subsequently will always yield the receiver until it is reset. alwaysYield never returns within the Routine.</p>
<p class="p6"><br></p>
+<p class="p7"><span class="s12"><span class="Apple-tab-span"> </span></span><b>idle(time)</b></p>
+<p class="p1"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>within a routine, return values until this time is over. Time is measured relative to the thread's clock.</p>
+<p class="p1"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>(see <a href="Kernel/Routine.html"><span class="s8">Routine</span></a>)</p>
+<p class="p6"><br></p>
<p class="p5"><b>Error Support</b></p>
<p class="p2"><br></p>
<p class="p1">Object implements a number of methods which throw instances of Error. A number of methods (e.g. doesNotUnderstand) are 'private' and do not normally need to be called directly in user code. Others, such as those documented below can be useful for purposes such as object oriented design (e.g. to define an abstract interface which will be implemented in subclasses) and deprecation of methods. The reserved keyword <b>thisMethod</b> can be used to refer to the enclosing method. See also <a href="Kernel/Method.html"><span class="s4">Method</span></a> and <a href="Kernel/Function.html"><span class="s4">Function</span></a> (for exception handling).</p>
@@ -315,8 +316,8 @@
<p class="p7"><b><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></b>Throws a DeprecatedError. Use this to indicate that the enclosing method has been replaced by a better one (possibly in another class), and that it will likely be removed in the future. Unlike other errors, DeprecatedError only halts execution if Error.debug == true. In all cases it posts a warning indicating that the method is deprecated and what is the recommended alternative.</p>
<p class="p8"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
<p class="p9"><span class="s5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>foo {</p>
-<p class="p18"><span class="s2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>this<span class="s2">.deprecated(</span>thisMethod<span class="s2">, </span>ThisOrSomeOtherObject<span class="s2">.findMethod(</span><span class="s6">\foo</span><span class="s2">);</span></p>
-<p class="p19"><span class="s2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>... </span>// execution of this method will continue unless Error.debug == true</p>
+<p class="p16"><span class="s2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>this<span class="s2">.deprecated(</span>thisMethod<span class="s2">, </span>ThisOrSomeOtherObject<span class="s2">.findMethod(</span><span class="s6">\foo</span><span class="s2">);</span></p>
+<p class="p17"><span class="s2"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>... </span>// execution of this method will continue unless Error.debug == true</p>
<p class="p9"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}</p>
<p class="p6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></p>
</body>
Modified: trunk/build/Help/Math/SimpleNumber.html
===================================================================
--- trunk/build/Help/Math/SimpleNumber.html 2008-12-16 10:02:18 UTC (rev 8163)
+++ trunk/build/Help/Math/SimpleNumber.html 2008-12-16 12:30:49 UTC (rev 8164)
@@ -13,17 +13,14 @@
p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica}
p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco}
p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; min-height: 12.0px}
-p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000}
-p.p8 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #606060}
-p.p9 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #bf0000}
-p.p10 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #000000; min-height: 12.0px}
+p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px Monaco; color: #606060}
span.s1 {text-decoration: underline}
span.s2 {font: 12.0px Helvetica}
-span.s3 {color: #7f2f19}
-span.s4 {color: #1137af}
-span.s5 {color: #0000ff}
+span.s3 {color: #75311c}
+span.s4 {color: #133daa}
+span.s5 {color: #0024f8}
span.s6 {color: #000000}
-span.s7 {color: #0000bf}
+span.s7 {color: #001bb9}
span.s8 {color: #606060}
span.Apple-tab-span {white-space:pre}
</style>
@@ -449,62 +446,21 @@
<p class="p3"><span class="Apple-tab-span"> </span>(see <a href="../Core/Kernel/Routine.html"><span class="s5">Routine</span></a>)</p>
<p class="p2"><span class="Apple-tab-span"> </span></p>
<p class="p5"><span class="Apple-tab-span"> </span>// create a routine by a function fork</p>
-<p class="p7"><span class="s6"><span class="Apple-tab-span"> </span></span>(</p>
-<p class="p7"><span class="Apple-tab-span"> </span>fork {</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.wait;</p>
-<p class="p8"><span class="s6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>"I did wait"<span class="s6">.postln;</span></p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.0.rand.wait;</p>
-<p class="p8"><span class="s6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>"No you didn't"<span class="s6">.postln;</span></p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>2.wait;</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s7">(1..)</span>.do { <span class="s7">|i|</span><span class="Apple-converted-space"> </span></p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s8">"yes I did"</span>.postln;<span class="Apple-converted-space"> </span></p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>i.asFloat.rand.wait;<span class="Apple-converted-space"> </span></p>
-<p class="p8"><span class="s6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>"no you didn't"<span class="s6">.postln;<span class="Apple-converted-space"> </span></span></p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>i.wait<span class="Apple-converted-space"> </span></p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}</p>
-<p class="p7"><span class="Apple-tab-span"> </span>}</p>
-<p class="p7"><span class="Apple-tab-span"> </span>)</p>
-<p class="p6"><span class="Apple-tab-span"> </span></p>
-<p class="p6"><br></p>
-<p class="p3"><b>idle</b></p>
-<p class="p3"><span class="Apple-tab-span"> </span>within a routine, return values until this time is over.</p>
-<p class="p3"><span class="Apple-tab-span"> </span>(see <a href="../Core/Kernel/Routine.html"><span class="s5">Routine</span></a>)</p>
-<p class="p6"><span class="Apple-tab-span"> </span></p>
-<p class="p9"><span class="s6"><span class="Apple-tab-span"> </span></span>// for 6 seconds, return 200, then continue</p>
-<p class="p7"><span class="Apple-tab-span"> </span>(</p>
-<p class="p7"><span class="Apple-tab-span"> </span>r = <span class="s7">Routine</span> {</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>199.yield;</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>189.yield;</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>6.idle(200);</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>199.yield;</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>189.yield;</p>
-<p class="p7"><span class="Apple-tab-span"> </span>};</p>
-<p class="p10"><span class="Apple-tab-span"> </span></p>
-<p class="p7"><span class="Apple-tab-span"> </span>fork {</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>loop {</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>r.value.postln;</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.wait;</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}</p>
-<p class="p7"><span class="Apple-tab-span"> </span>}</p>
-<p class="p7"><span class="Apple-tab-span"> </span>);</p>
-<p class="p10"><span class="Apple-tab-span"> </span></p>
-<p class="p9"><span class="s6"><span class="Apple-tab-span"> </span></span>// the value can also be a stream or a function</p>
<p class="p5"><span class="Apple-tab-span"> </span>(</p>
-<p class="p7"><span class="Apple-tab-span"> </span>r = <span class="s7">Routine</span> {</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>199.yield;</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>189.yield;</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>6.idle(<span class="s7">Routine</span> { 100.do { <span class="s7">|i|</span> i.yield } });</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>199.yield;</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>189.yield;</p>
-<p class="p7"><span class="Apple-tab-span"> </span>};</p>
-<p class="p10"><span class="Apple-tab-span"> </span></p>
-<p class="p7"><span class="Apple-tab-span"> </span>fork {</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>loop {</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>r.value.postln;</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.wait;</p>
-<p class="p7"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}</p>
-<p class="p7"><span class="Apple-tab-span"> </span>}</p>
-<p class="p5"><span class="s6"><span class="Apple-tab-span"> </span></span>);</p>
+<p class="p5"><span class="Apple-tab-span"> </span>fork {</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.wait;</p>
+<p class="p7"><span class="s6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>"I did wait"<span class="s6">.postln;</span></p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>1.0.rand.wait;</p>
+<p class="p7"><span class="s6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>"No you didn't"<span class="s6">.postln;</span></p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>2.wait;</p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s7">(1..)</span>.do { <span class="s7">|i|</span><span class="Apple-converted-space"> </span></p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="s8">"yes I did"</span>.postln;<span class="Apple-converted-space"> </span></p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>i.asFloat.rand.wait;<span class="Apple-converted-space"> </span></p>
+<p class="p7"><span class="s6"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span></span>"no you didn't"<span class="s6">.postln;<span class="Apple-converted-space"> </span></span></p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>i.wait<span class="Apple-converted-space"> </span></p>
+<p class="p5"><span class="Apple-tab-span"> </span><span class="Apple-tab-span"> </span>}</p>
+<p class="p5"><span class="Apple-tab-span"> </span>}</p>
+<p class="p5"><span class="Apple-tab-span"> </span>)</p>
<p class="p6"><span class="Apple-tab-span"> </span></p>
<p class="p6"><span class="Apple-tab-span"> </span></p>
<p class="p6"><span class="Apple-tab-span"> </span></p>
Modified: trunk/build/SCClassLibrary/Common/Core/Object.sc
===================================================================
--- trunk/build/SCClassLibrary/Common/Core/Object.sc 2008-12-16 10:02:18 UTC (rev 8163)
+++ trunk/build/SCClassLibrary/Common/Core/Object.sc 2008-12-16 12:30:49 UTC (rev 8164)
@@ -312,6 +312,7 @@
as { arg aSimilarClass; ^aSimilarClass.newFrom(this) }
dereference { ^this } // see Ref::dereference
+ reference { ^Ref.new(this) }
asRef { ^Ref.new(this) }
// asArray { ^Array.with(this) }
asArray { ^this.asCollection.asArray }
@@ -373,6 +374,10 @@
_RoutineYieldAndReset
^this.primitiveFailed
}
+ idle { arg val;
+ var time = thisThread.beats;
+ while { thisThread.beats - time < val } { this.value.yield }
+ }
// dependancy support
*initClass { dependantsDictionary = IdentityDictionary.new(4); }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
_______________________________________________
sc-dev mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-dev/
search: https://listarc.bham.ac.uk/lists/sc-dev/search/