Vamos pela primeira vez fazer algo útil.
Dado o texto de um envio de codegolf do Try It Online, produza o envio equivalente do Chat Mini Challenge, que tem o formato
Language, N bytes: [`code`](URL)
ou (se o envio for de um único byte - o TIO adicionará um s à direita na primeira linha somente se necessário)
Language, 1 byte: [`code`](URL)
Você pode assumir que o envio
- tem apenas uma linha
- não contém backticks (
`
) - não possui espaço em branco à esquerda
- tem um formato regular como nos exemplos abaixo; a linha de código é recuada com quatro espaços (
<pre><code>
…</code></pre>
), ou seja, sem espaços em branco à direita.
Observe que o envio pode ter uma tag de destaque de sintaxe. Veja o último exemplo.
Você pode opcionalmente incluir o texto do título, ie …url "Language - Try It Online"
.
Exemplos
Dado
# [05AB1E], 1 byte
Ô
[Try it online!][TIO-j3v72bss]
[05AB1E]: https://github.com/Adriandmen/05AB1E
[TIO-j3v72bss]: https://tio.run/##MzBNTDJM/f//8JT//zNSgSAnJycfDAA "05AB1E – Try It Online"
Retorna
05AB1E, 1 byte: [`Ô`](https://tio.run/##MzBNTDJM/f//8JT//zNSgSAnJycfDAA)
ou
05AB1E, 1 byte: [`Ô`](https://tio.run/##MzBNTDJM/f//8JT//zNSgSAnJycfDAA "05AB1E – Try It Online")
Dado
# [Brachylog], 4 bytes
ḅhᵐc
[Try it online!][TIO-j3v75978]
[Brachylog]: https://github.com/JCumin/Brachylog
[TIO-j3v75978]: https://tio.run/##SypKTM6ozMlPN/r//@GO1oyHWyck//@vlJGampOTDwZK/6MA "Brachylog – Try It Online"
Retorna
Brachylog, 4 bytes: [`ḅhᵐc`](https://tio.run/##SypKTM6ozMlPN/r//@GO1oyHWyck//@vlJGampOTDwZK/6MA)
Dado
# [APL (Dyalog Unicode)], 15 bytes
<!-- language-all: lang-apl -->
⍴⍨¨⍳
[Try it online!][TIO-j44jgrps]
[APL (Dyalog Unicode)]: https://www.dyalog.com/
[TIO-j44jgrps]: https://tio.run/##AScA2P9hcGwtZHlhbG9n//9m4oaQ4o204o2owqjijbP//zcxNjDijLZmIDQ "APL (Dyalog Unicode) – Try It Online"
Retorna
APL (Dyalog Unicode), 15 bytes: [`⍴⍨¨⍳`](https://tio.run/##AScA2P9hcGwtZHlhbG9n//9m4oaQ4o204o2owqjijbP//zcxNjDijLZmIDQ)
]
?]
.Respostas:
V ,
37, 35 bytesExperimente online!
fonte
ys$[
eys$]
, mas, como estamos cercando-a com backticks e colchetes, é mais curto colocá-los manualmente.Python 3 ,
1131039891 bytes-1 byte graças ao Value Ink.
Se você puder, eu poderia usar totalmente alguma ajuda com o regex. > <
Experimente online!
fonte
\s
para corresponder à parte do bloco de código; substitua-o por um caractere de espaço literal. Além disso, a saída esperada não possui o"Language - Try It Online"
segmento; portanto, é necessário alterar o último grupo(\S*)
para corresponder corretamente, para que a contagem de bytes seja a mesma.\s
para um espaço economizará 1 byte.JavaScript (ES6), 73 bytes
fonte
alert(prompt().replace(...))
pode funcionar, se o prompt permitir que você cole várias linhas de alguma forma (o regexp na verdade não precisa que as novas linhas estejam presentes).[^]
como combinar nada . Aprendi algo novo com sua solução. Obrigado!Retina ,
5448525748 bytesSalvo 1 byte graças a @MartinEnder, 1 byte graças a @Riley
Experimente online! Isso pressupõe que não haverá um
@
nome no idioma, o que deve ser bom ...fonte
^# \[
com^...
eu acho^
e$
? Sempre deve corresponder a toda a string de qualquer maneira.<space>"
, mas não sei se você precisa lidar com isso. Eu acho que você acabou de perceber isso.05AB1E , 50 bytes
Experimente online!
Agora também suporta destaque de sintaxe!
н
é substituído por0è
eθ
é substituído por,®è
pois esses ainda não foram transferidos para o TIO.Eu só quero saber como encurtar
¦¦¦
...fonte
Ruby , 85 bytes
Experimente online!
fonte
MATLAB / oitava ,
120126 bytesIsso deve funcionar. Para o MATLAB, ele não funcionará com caracteres Unicode, embora eu não ache, principalmente porque o MATLAB é péssimo quando se trata de caracteres ímpares. No entanto, ele funcionará com Unicode para Octave, ou pelo menos o TIO parece capaz de lidar.
Ele também deve lidar com envios com e sem o
<-- -->
realce da sintaxe.Atualizações :
@(a)
cópia duranteExperimente online!
fonte
Python 2 , 101 bytes
Experimente online! ou Experimente todos os casos de teste
fonte
PHP , 92 bytes
Experimente online!
fonte
Pip ,
433938 bytesExperimente online!
Toma as linhas como argumentos separados da linha de comando. Um exemplo de invocação pode ter a seguinte aparência:
embora, na verdade, isso não funcione para mim porque o Windows
cmd
reclama daÔ
... [murmuração inarticulada]- De qualquer forma, ele funciona no TIO. Ou use a
-r
bandeira e, em vez disso , use as linhas de stdin.Supõe que o nome do idioma não contenha
]
(o que reduziria a redução de qualquer maneira).Explicação
fonte