如打印1-100中可被2和3整除的總和
最一般的情況可能这样写
<span class="n">TheSum</span><span class="o">=</span><span class="mi">0</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="nb">xrange</span><span class="p">(</span><span class="mi">101</span><span class="p">):</span> <span class="k">if</span> <span class="n">x</span> <span class="o">%</span><span class="mi">2</span><span class="o">==</span><span class="mi">0</span> <span class="ow">and</span> <span class="n">x</span><span class="o">%</span><span class="mi">3</span><span class="o">==</span><span class="mi">0</span><span class="p">:</span> <span class="n">TheSum</span><span class="o">+=</span><span class="n">x</span> <span class="k">print</span> <span class="n">TheSum</span>
+/ (#~ (0=2&|) *. (0=3&|)) 1+i.100
6 to 100 by 6 sum
不妨考虑一下可读性吧
sum(range(6,101,6))
1 to(100) asList select(%6==0) sum
<span class="nf">sum</span> <span class="p">[</span><span class="n">x</span> <span class="o">|</span> <span class="n">x</span> <span class="ow"><-</span> <span class="p">[</span><span class="mi">1</span><span class="o">..</span><span class="mi">101</span><span class="p">],</span> <span class="n">x</span> <span class="p">`</span><span class="n">mod</span><span class="p">`</span> <span class="mi">2</span> <span class="o">==</span> <span class="mi">0</span> <span class="o">&&</span> <span class="n">x</span> <span class="p">`</span><span class="n">mod</span><span class="p">`</span> <span class="mi">3</span> <span class="o">==</span> <span class="mi">0</span><span class="p">]</span>
(1..100).select{|x| x%6 == 0 }.inject(:+)