Анонимная неявная инфиксная функция. Порядок аргументов не имеет значения.
->w,s{w.bytes.map{(_1+s).chr}}
зачеркнутая 4 всё равно обычная 4 ;(
-1 байт благодаря @Кевин Круйссен.
m # map over each element in arg 2
ȯ # 3 functions:
c # convert character to value
+⁰ # add arg 1
c # convert back to character
mȯc+⁰c
||answer||Анонимная неявная функция, принимающая два аргумента в любом порядке.
0A`
T` -þ`!-ÿ
add the arguments (this implicitly converts the characters to code points
… "$+"+`
cast to…
"$+"+T` -þ`!-ÿ
0A`
character
η Second input
? Map over characters and join
ι Current character
℅ Ordinal
⁺ Plus
θ First input
I Cast to integer
℅ Character
Implicitly print
O+Ọ Main Link
O chr->ord of left argument
+ add (left with right; implicit vectorization)
Ọ ord->chr of left argument
, 3 bytesO+Ọ
m
Если это обязательно должна быть функция:
{n+m
λ2|C+C;
λ2| # Start a lambda with two arguments
C+C # Same as the full program
; # Close lambda
||answer||λ2|C+C;
обратная сторона C # Convert input string to a list of ord values
+ # Add implicit number shift
C # Convert back to a list of chars and output
printing stuff with newline is that you need an explicit bracket.
C+C
s
||answer||FromCharacterCode[ToCharacterCode@#+#2]&
Попробуйте онлайн! Ссылка на подробную версию кода. Объяснение:
f(s,n)char*s;{for(;*s;*s+++=n);}
||answer||`c
Попробуйте онлайн! Работает со всеми символами ISO-8859-1, если результат не превышает U+00FF. Добавьте 2 байта, чтобы расширить диапазон вывода до U+07FF. Добавьте еще 2 байта, чтобы расширить диапазон вывода до символов UCS-2 до U+FFFF. Объяснение:
$
Повторите заданное количество раз.
+
Увеличьте все поддерживаемые кодовые точки на 1.
`c$+
Удалить счетчик.
Ç+ç # full program
+ # increment...
Ç # charcodes of...
# implicit input
+ # by...
# implicit input
ç # convert to chars
# implicit output
Ç+ç
||answer||+
Возвращает массив символов. TIO использует более старую версию Ruby, тогда как в Ruby 2.7 мы пронумеровали параметры, что позволяет сэкономить два байта.