“Ŀo‘’FQỌµḟ;¹V
Pruébalo en línea! o ejecuta los primeros diez programas .
Antecedentes
Jelly tiene varios tipos diferentes de literales de cadena; todos comienzan con a “. Si el literal contiene más de uno “, se devuelve una matriz de cadenas y las “separa unas de otras.
Por ejemplo, “abc“def”rendimientos ['abc', 'def'].
Dependiendo del último carácter del literal (cualquiera de ”«»‘’, donde no «está implementado actualmente), uno puede elegir entre los diferentes tipos de literales. Para ‘, obtenemos los puntos de código en la página de códigos de Jelly en lugar de los caracteres Unicode correspondientes.
Por ejemplo, “abc“def‘rendimientos [[97, 98, 99], [100, 101, 102]].
Los literales en los primeros tres programas corresponden a las siguientes matrices de puntos de código.
“Ŀo‘ -> [199, 111]
““ĿĿoo‘ -> [[], [199, 199, 111, 111]]
“““ĿĿĿooo‘ -> [[], [], [199, 199, 199, 111, 111, 111]]
Cómo funciona ( n = 3 )
“““ĿĿĿooo‘‘‘’’’FFFQQQỌỌỌµµµḟḟḟ;;;¹¹¹VVV Main link. Implicit argument: 0
“““ĿĿĿooo‘ Yield the 2D array
[[], [], [199, 199, 199, 111, 111, 111]].
‘‘ Increment twice, yielding
[[], [], [201, 201, 201, 113, 113, 113]].
’’’ Decrement thrice, yielding
[[], [], [198, 198, 198, 110, 110, 110]].
F Flatten, yielding
[198, 198, 198, 110, 110, 110].
FF Twice more. Does nothing.
Q Unique; yield [198, 110].
QQ Twice more. Does nothing.
Ọ Unordinal; convert the Unicode code points
198 and 110 to 'Æ' and 'n'.
ỌỌ Twice more. Does nothing.
µµµ Begin three monadic chains, all with
argument s := "Æn".
ḟ Filter-false; remove the characters of s
from s, yielding "".
ḟḟ Twice more. Does nothing.
;;;¹ Concatenate with s three times, yielding
"ÆnÆnÆn".
¹¹ Identity function. Does nothing.
V Eval the resulting Jelly code, i.e.,
call the next-prime atom thrice, with
initial implicit argument 0.
VV Eval two more times. This is a no-op
on integers.