“Ŀo‘’FQỌµḟ;¹V
Попробуйте онлайн! или запустите первые десять программ .
Фон
У желе есть несколько различных типов строковых литералов; все они начинаются с “
. Если литерал содержит более одного “
, возвращается строковый массив, который “
отделяет строки друг от друга.
Например, “abc“def”
урожайность ['abc', 'def']
.
В зависимости от последнего символа литерала (любой из ”«»‘’
которых, «
в настоящее время не реализован), можно выбирать между различными типами литералов. Для ‘
, мы получаем кодовые точки в кодовой странице Jelly вместо соответствующих символов Unicode.
Например, “abc“def‘
урожайность [[97, 98, 99], [100, 101, 102]]
.
Литералы в первых трех программах соответствуют следующим массивам кодов.
“Ŀo‘ -> [199, 111]
““ĿĿoo‘ -> [[], [199, 199, 111, 111]]
“““ĿĿĿooo‘ -> [[], [], [199, 199, 199, 111, 111, 111]]
Как это работает ( 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.