doc/TaskJuggler/PropertyList.html in taskjuggler-0.0.7 vs doc/TaskJuggler/PropertyList.html in taskjuggler-0.0.8

- old
+ new

@@ -171,16 +171,22 @@ <li><a href="../TaskJuggler/ChargeSet.html">TaskJuggler::ChargeSet</a></li> <li><a href="../TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li> + <li><a href="../TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li> + <li><a href="../TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li> <li><a href="../TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li> <li><a href="../TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li> + <li><a href="../TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li> + + <li><a href="../TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li> + <li><a href="../TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li> <li><a href="../TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li> <li><a href="../TaskJuggler/DependencyListAttribute.html">TaskJuggler::DependencyListAttribute</a></li> @@ -283,11 +289,11 @@ <li><a href="../TaskJuggler/NikuResource.html">TaskJuggler::NikuResource</a></li> <li><a href="../TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li> - <li><a href="../TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li> + <li><a href="../TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li> <li><a href="../TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li> <li><a href="../TaskJuggler/ProcessIntercomIface.html">TaskJuggler::ProcessIntercomIface</a></li> @@ -463,10 +469,14 @@ <li><a href="../TaskJuggler/TextParser/Rule.html">TaskJuggler::TextParser::Rule</a></li> <li><a href="../TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li> + <li><a href="../TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li> + + <li><a href="../TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li> + <li><a href="../TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li> <li><a href="../TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li> <li><a href="../TaskJuggler/TextReport.html">TaskJuggler::TextReport</a></li> @@ -1181,30 +1191,32 @@ <pre> <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 168</span> 168: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">addSortingCriteria</span>(<span class="ruby-identifier">criteria</span>, <span class="ruby-identifier">up</span>, <span class="ruby-identifier">scIdx</span>) 169: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">knownAttribute?</span>(<span class="ruby-identifier">criteria</span>) <span class="ruby-operator">||</span> 170: <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">hasQuery?</span>(<span class="ruby-identifier">criteria</span>, <span class="ruby-identifier">scIdx</span>) -171: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Unknown attribute #{criteria} used for sorting criterium&quot;</span> -172: <span class="ruby-keyword kw">end</span> -173: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scIdx</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> -174: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">scenarioSpecific?</span>(<span class="ruby-identifier">criteria</span>) -175: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Attribute #{criteria} is scenario specific.&quot;</span> <span class="ruby-operator">+</span> -176: <span class="ruby-value str">&quot;You must specify a scenario id.&quot;</span> -177: <span class="ruby-keyword kw">end</span> -178: <span class="ruby-keyword kw">else</span> -179: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenario</span>(<span class="ruby-identifier">scIdx</span>).<span class="ruby-identifier">nil?</span> -180: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Unknown scenario index #{scIdx} used.&quot;</span> -181: <span class="ruby-keyword kw">end</span> -182: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">scenarioSpecific?</span>(<span class="ruby-identifier">criteria</span>) -183: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Attribute #{criteria} is not scenario specific&quot;</span> -184: <span class="ruby-keyword kw">end</span> -185: <span class="ruby-keyword kw">end</span> -186: <span class="ruby-ivar">@sortingCriteria</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">criteria</span>) -187: <span class="ruby-ivar">@sortingUp</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">up</span>) -188: <span class="ruby-ivar">@scenarioIdx</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">scIdx</span>) -189: <span class="ruby-ivar">@sortingLevels</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> -190: <span class="ruby-keyword kw">end</span></pre> +171: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, +172: <span class="ruby-node">&quot;Unknown attribute #{criteria} used for sorting criterium&quot;</span> +173: <span class="ruby-keyword kw">end</span> +174: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scIdx</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> +175: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">scenarioSpecific?</span>(<span class="ruby-identifier">criteria</span>) +176: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, +177: <span class="ruby-node">&quot;Attribute #{criteria} is scenario specific.&quot;</span> <span class="ruby-operator">+</span> +178: <span class="ruby-value str">&quot;You must specify a scenario id.&quot;</span> +179: <span class="ruby-keyword kw">end</span> +180: <span class="ruby-keyword kw">else</span> +181: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenario</span>(<span class="ruby-identifier">scIdx</span>).<span class="ruby-identifier">nil?</span> +182: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Unknown scenario index #{scIdx} used.&quot;</span> +183: <span class="ruby-keyword kw">end</span> +184: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@propertySet</span>.<span class="ruby-identifier">scenarioSpecific?</span>(<span class="ruby-identifier">criteria</span>) +185: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TjException</span>.<span class="ruby-identifier">new</span>, <span class="ruby-node">&quot;Attribute #{criteria} is not scenario specific&quot;</span> +186: <span class="ruby-keyword kw">end</span> +187: <span class="ruby-keyword kw">end</span> +188: <span class="ruby-ivar">@sortingCriteria</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">criteria</span>) +189: <span class="ruby-ivar">@sortingUp</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">up</span>) +190: <span class="ruby-ivar">@scenarioIdx</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">scIdx</span>) +191: <span class="ruby-ivar">@sortingLevels</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span> +192: <span class="ruby-keyword kw">end</span></pre> </div> </div> @@ -1234,27 +1246,27 @@ <div class="method-source-code" id="index-ree-source"> <pre> - <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 193</span> -193: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indexTree</span> -194: <span class="ruby-ivar">@items</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">property</span><span class="ruby-operator">|</span> -195: <span class="ruby-comment cmt"># The indicies are an Array if the 'index' attributes for this</span> -196: <span class="ruby-comment cmt"># property and all its parents.</span> -197: <span class="ruby-identifier">treeIdcs</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">getIndicies</span> -198: <span class="ruby-comment cmt"># Now convert them to a String.</span> -199: <span class="ruby-identifier">tree</span> = <span class="ruby-value str">''</span> -200: <span class="ruby-identifier">treeIdcs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span> -201: <span class="ruby-comment cmt"># Prefix the level index with zeros so that we always have a 6</span> -202: <span class="ruby-comment cmt"># digit long String. 6 digits should be large enough for all</span> -203: <span class="ruby-comment cmt"># real-world projects.</span> -204: <span class="ruby-identifier">tree</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">rjust</span>(<span class="ruby-value">6</span>, <span class="ruby-value str">'0'</span>) -205: <span class="ruby-keyword kw">end</span> -206: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">set</span>(<span class="ruby-value str">'tree'</span>, <span class="ruby-identifier">tree</span>) -207: <span class="ruby-keyword kw">end</span> -208: <span class="ruby-keyword kw">end</span></pre> + <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 195</span> +195: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">indexTree</span> +196: <span class="ruby-ivar">@items</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">property</span><span class="ruby-operator">|</span> +197: <span class="ruby-comment cmt"># The indicies are an Array if the 'index' attributes for this</span> +198: <span class="ruby-comment cmt"># property and all its parents.</span> +199: <span class="ruby-identifier">treeIdcs</span> = <span class="ruby-identifier">property</span>.<span class="ruby-identifier">getIndicies</span> +200: <span class="ruby-comment cmt"># Now convert them to a String.</span> +201: <span class="ruby-identifier">tree</span> = <span class="ruby-value str">''</span> +202: <span class="ruby-identifier">treeIdcs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span> +203: <span class="ruby-comment cmt"># Prefix the level index with zeros so that we always have a 6</span> +204: <span class="ruby-comment cmt"># digit long String. 6 digits should be large enough for all</span> +205: <span class="ruby-comment cmt"># real-world projects.</span> +206: <span class="ruby-identifier">tree</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">rjust</span>(<span class="ruby-value">6</span>, <span class="ruby-value str">'0'</span>) +207: <span class="ruby-keyword kw">end</span> +208: <span class="ruby-identifier">property</span>.<span class="ruby-identifier">set</span>(<span class="ruby-value str">'tree'</span>, <span class="ruby-identifier">tree</span>) +209: <span class="ruby-keyword kw">end</span> +210: <span class="ruby-keyword kw">end</span></pre> </div> </div> @@ -1281,54 +1293,54 @@ <div class="method-source-code" id="sort-nternal-source"> <pre> - <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 210</span> -210: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sortInternal</span> -211: <span class="ruby-ivar">@items</span>.<span class="ruby-identifier">sort!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span> -212: <span class="ruby-identifier">res</span> = <span class="ruby-value">0</span> -213: <span class="ruby-ivar">@sortingLevels</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> -214: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@query</span> -215: <span class="ruby-comment cmt"># In case we have a Query reference, we get the two values with this</span> -216: <span class="ruby-comment cmt"># query.</span> -217: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>] -218: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">attributeId</span> = <span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>] -219: -220: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">a</span> -221: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">process</span> -222: <span class="ruby-identifier">aVal</span> = <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">to_sort</span> -223: -224: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">b</span> -225: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">process</span> -226: <span class="ruby-identifier">bVal</span> = <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">to_sort</span> -227: <span class="ruby-keyword kw">else</span> -228: <span class="ruby-comment cmt"># In case we don't have a query, we use the static mechanism.</span> -229: <span class="ruby-comment cmt"># If the scenario index is negative we have a non-scenario-specific</span> -230: <span class="ruby-comment cmt"># attribute.</span> -231: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> -232: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'id'</span> -233: <span class="ruby-identifier">aVal</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">fullId</span> -234: <span class="ruby-identifier">bVal</span> = <span class="ruby-identifier">b</span>.<span class="ruby-identifier">fullId</span> -235: <span class="ruby-keyword kw">else</span> -236: <span class="ruby-identifier">aVal</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">get</span>(<span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>]) -237: <span class="ruby-identifier">bVal</span> = <span class="ruby-identifier">b</span>.<span class="ruby-identifier">get</span>(<span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>]) -238: <span class="ruby-keyword kw">end</span> -239: <span class="ruby-keyword kw">else</span> -240: <span class="ruby-identifier">aVal</span> = <span class="ruby-identifier">a</span>[<span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>], <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>]] -241: <span class="ruby-identifier">bVal</span> = <span class="ruby-identifier">b</span>[<span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>], <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>]] -242: <span class="ruby-keyword kw">end</span> -243: <span class="ruby-keyword kw">end</span> -244: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">aVal</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">bVal</span> -245: <span class="ruby-comment cmt"># Invert the result if we have to sort in decreasing order.</span> -246: <span class="ruby-identifier">res</span> = <span class="ruby-operator">-</span><span class="ruby-identifier">res</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@sortingUp</span>[<span class="ruby-identifier">i</span>] -247: <span class="ruby-comment cmt"># If the two elements are equal on this compare level we try the next</span> -248: <span class="ruby-comment cmt"># level.</span> -249: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">res</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> -250: <span class="ruby-keyword kw">end</span> -251: <span class="ruby-identifier">res</span> -252: <span class="ruby-keyword kw">end</span> -253: <span class="ruby-keyword kw">end</span></pre> + <span class="ruby-comment cmt"># File lib/PropertyList.rb, line 212</span> +212: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sortInternal</span> +213: <span class="ruby-ivar">@items</span>.<span class="ruby-identifier">sort!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span> +214: <span class="ruby-identifier">res</span> = <span class="ruby-value">0</span> +215: <span class="ruby-ivar">@sortingLevels</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> +216: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@query</span> +217: <span class="ruby-comment cmt"># In case we have a Query reference, we get the two values with this</span> +218: <span class="ruby-comment cmt"># query.</span> +219: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">scenarioIdx</span> = <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-operator">:</span> <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>] +220: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">attributeId</span> = <span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>] +221: +222: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">a</span> +223: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">process</span> +224: <span class="ruby-identifier">aVal</span> = <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">to_sort</span> +225: +226: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">property</span> = <span class="ruby-identifier">b</span> +227: <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">process</span> +228: <span class="ruby-identifier">bVal</span> = <span class="ruby-ivar">@query</span>.<span class="ruby-identifier">to_sort</span> +229: <span class="ruby-keyword kw">else</span> +230: <span class="ruby-comment cmt"># In case we don't have a query, we use the static mechanism.</span> +231: <span class="ruby-comment cmt"># If the scenario index is negative we have a non-scenario-specific</span> +232: <span class="ruby-comment cmt"># attribute.</span> +233: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">&lt;</span> <span class="ruby-value">0</span> +234: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">'id'</span> +235: <span class="ruby-identifier">aVal</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">fullId</span> +236: <span class="ruby-identifier">bVal</span> = <span class="ruby-identifier">b</span>.<span class="ruby-identifier">fullId</span> +237: <span class="ruby-keyword kw">else</span> +238: <span class="ruby-identifier">aVal</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">get</span>(<span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>]) +239: <span class="ruby-identifier">bVal</span> = <span class="ruby-identifier">b</span>.<span class="ruby-identifier">get</span>(<span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>]) +240: <span class="ruby-keyword kw">end</span> +241: <span class="ruby-keyword kw">else</span> +242: <span class="ruby-identifier">aVal</span> = <span class="ruby-identifier">a</span>[<span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>], <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>]] +243: <span class="ruby-identifier">bVal</span> = <span class="ruby-identifier">b</span>[<span class="ruby-ivar">@sortingCriteria</span>[<span class="ruby-identifier">i</span>], <span class="ruby-ivar">@scenarioIdx</span>[<span class="ruby-identifier">i</span>]] +244: <span class="ruby-keyword kw">end</span> +245: <span class="ruby-keyword kw">end</span> +246: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">aVal</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">bVal</span> +247: <span class="ruby-comment cmt"># Invert the result if we have to sort in decreasing order.</span> +248: <span class="ruby-identifier">res</span> = <span class="ruby-operator">-</span><span class="ruby-identifier">res</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@sortingUp</span>[<span class="ruby-identifier">i</span>] +249: <span class="ruby-comment cmt"># If the two elements are equal on this compare level we try the next</span> +250: <span class="ruby-comment cmt"># level.</span> +251: <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">res</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span> +252: <span class="ruby-keyword kw">end</span> +253: <span class="ruby-identifier">res</span> +254: <span class="ruby-keyword kw">end</span> +255: <span class="ruby-keyword kw">end</span></pre> </div> </div>