Шепот v3, 124..120 114 байт
b"cd" => [99,100]
Попробуйте онлайн!
Объяснение:
Я использую тот факт, что каждую строку с номером \$x\$ можно вызвать с помощью \$x + k \cdot n \$, где \$k \in \mathbb{N} \$ и \$n\$ общее количество строк кода. b"\1\2" => [1,2]
can be replaced by b"str"
, "\1\2"
, ()->join([b"";"miss a few";b"cd"],", ")
Пример из кода из 11 строк: ссылка на строку
, и так далее.
Попробуйте переведенную версию онлайн!
Построчно:
$,=", ";say 5-4,5-3,"miss a few",3*33,4*5*5
Как всегда в Whispers, сначала запускаем последнюю строку:
say"C, D, miss a few, KK, CBB"=~y,A-L,/-:,r
Эта строка выводит результат из строки 56. Поскольку в коде нет 56 строк, на самом деле выводится строка \$ 56 \mod 11 = 1\$:
333ff
Применив тот же трюк еще раз, мы можем заменить эту строку на:
-[----->+>+>+>++>++<<<<<]>>>--.-----.------------.<-.------.>.>+++++++.>+++.<++++++..<.>>--------.<<.>>+++++.-.<++++.<<.>.<<++++++..>.>.<+++++.-..
/-:
is an argument from the 0-9
В строке 5 мы можем ожидать функцию, а в строке 2 — массив. Функция будет применена к каждому элементу массива и заменит элемент результатом. Давайте сначала посмотрим на строку 5: cat(chartr("@-K","/-:","B, C, miss a few, JJ, BAA"))
is converted to a string.
утверждение в строке 1.
l(){printf("%c, %d, miss a few %d, %o",7*7,5-3,'c',64);}
<?=5-4,', ',5-3,', miss a few, ',33*3,', ',5*5*4;
creates an array with the arguments as its elements. If we would print this line we get the following array:
<?=
Теперь строка 2:
Пояснение аргументов:
Строка 3 и 4: простые строки %x
Строка 6: Возвращает длину строки 3, поэтому мы получаем printf
Строка 7: Возвращает длину строки 5, поэтому мы получаем printf('%c, %d, miss a few, %d, %o',7*7,5-3,33*3,64);
Строка 8: Возвращает результат строки 53 (на самом деле 9), возведенный в степень результата строки 6, поэтому мы получаем 99
Строка 54 (на самом деле 10): результат строки 8 вычитается из результата строки 7, поэтому мы получаем