Estaba mirando el tonto/lindo/brillante "sleep sort" that seems to have originated over at 4chan. Para ordenar una matriz de enteros, la idea es más o menospregunta del operador Perl6
foreach elt in @array spawn thread(elt)
donde rosca (n) hace
sleep n print n
por lo que los valores más pequeños se imprimen antes.
Hay una aplicación Perl6
@foo = @foo>>.&sleep;
consigo que >>
'hiper' el operador, y que esto supone hypering se paralelizar automáticamente. Pero el .&
me confunde.
¿Alguien puede explicar esto?
gracias
Gracias por la respuesta, moritz. Dos seguimientos: Primero, ¿necesita la & para obtener una referencia (creo que en C el nombre de una función siempre devuelve una referencia/puntero incluso sin un &). Y yo pensé '.' era "método de invocación", es decir, árbol de herencia de búsqueda para el método de clase apropiado. ¿El uso que describes es una versión degenerada/predeterminada del 'método de invocación', o algo completamente diferente? – jonathan
Bueno, Perl 6 no es C. Si menciona una subrutina sin el ampersand, la llama. – moritz
Respondiendo a su segunda pregunta: '$ obj.method' es de hecho una llamada a método, pero' $ obj. $ Coderef' no lo es. – moritz