Votre objectif est de saisir tout texte arbitraire, tel que:
This is some text
Et affichez ce texte au format code pour les publications (Markdown à saveur SE) et les commentaires (mini-Markdown) sur Stack Exchange, tels que:
`This is some text`
`This is some text`
Cependant, cela devient plus délicat. Considérez l'entrée:
Perl has a variable called $`
La sortie doit être
`` Perl has a variable called $` ``
`Perl has a varaible called $\``
Les règles complètes de formatage sont les suivantes:
Articles complets (Markdown SE complet)
Étape 1: comptez le plus petit nombre pour lequel il n'y a pas exactement autant de retours consécutifs dans la chaîne. Appelons ça
n. (Par exemple, pour la chaînepotato,nest 1, pourthis is a backtick: `,nest 2 et pour` `` ``` ````` ``````,nest 4.)Étape 2: enveloppez la chaîne de
nguillemets. Si la chaîne commence ou se termine par un backtick, vous devez également encapsuler avec des espaces. (Par exemple,potatodevient`potato`,this is a backtick: `devient`` this is a backtick: ` ``et` `` ``` ````` ``````devient```` ` `` ``` ````` `````` ````.
Commentaires (mini-Markdown)
- Envelopper dans
`et échapper à tous les`« s avec\`. (Par exemple,potatodevient`potato`,this is a backtick: `devientthis is a backtick: \`et` `` ``` ````` ``````devient\` \`\` \`\`\` \`\`\`\`\` \`\`\`\`\`\`.
- Envelopper dans
C'est du golf de code ; la réponse la plus courte en nombre d'octets l'emporte.
\; pour formater un \, vous devez le faire ``\``. De plus, tout ce qui se termine par un rencontre \le même problème: asdf\produit `asdf`