<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  <title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
Hola Mongers,<br>
<br>
Sobre la función:<br>
<br>
sub pascal { [1], -&gt; @p { [0, @p Z+ @p, 0] } ... * }<br>
.say for pascal[^10];<br>
<br>
Esta función la escribió anteayer Larry Wall en Rosseta Code:<br>
Es un triangulo de Pascal, aunque ha retocado la salida, ya que si no
se vuelve incomprensible por no estar formateada la salida ...<br>
<br>
El funcionamiento es el siguiente:<br>
<br>
El ... es el operador de la serie, que genera listas por la
alimentación del anterior valor (un array) para generar bloques a su
izquierda, hasta que alcanza el objetivo de la derecha. <br>
En este caso cualquiera, lo que significa que devuelve una lista
infinita. <br>
<br>
Por ejemplo si valor anterior era la serie [1, 2, 1],  el bloque de
código evalúa 0, 1, 2, 1, Z+, 1, 2, 1, 0.  <br>
  <br>
Donde Z es el operador a descubrir, Z+ está emparejado a la suma, es
decir la adición de los pares que el operador a descubrir ha
producido). En el ejemplo esto conduce a 0+1, 1+2, 2+1, 1+0 ó al
resultado de 1, 3, 3, 1. <br>
<br>
<pre><span class="synComment"># ([1],</span>
<span class="synComment">#  [1, 1],</span>
<span class="synComment">#  [1, 2, 1],</span>
<b><span class="synComment">#  [1, 3, 3, 1],</span></b>
<span class="synComment">#  [1, 4, 6, 4, 1],</span>
<span class="synComment">#  [1, 5, 10, 10, 5, 1],</span>
<span class="synComment">#  [1, 6, 15, 20, 15, 6, 1],</span>
<span class="synComment">#  [1, 7, 21, 35, 35, 21, 7, 1],</span>
<span class="synComment">#  [1, 8, 28, 56, 70, 56, 28, 8, 1],</span>
<span class="synComment">#  [1, 9, 36, 84, 126, 126, 84, 36, 9, 1])</span>

</pre>
Un saludo,
<div class="moz-signature">-- <br>
Kar 'Obi' Juan<br>
<a href="http://cjuan.wordpress.com/">http://cjuan.wordpress.com/</a><br>
<b>GOTT WEISS ICH WILL KEIN ENGEL SEIN!</b>
<br>
<br>
</div>
</body>
</html>