Segunda caixa de ferramentas de MacGyver

16

Nesta pergunta, cada resposta receberá uma "caixa de ferramentas" que pode ser usada para construir um programa / função. A caixa de ferramentas consistirá em duas coisas:

  • uma lista de linguagens de programação

  • uma lista de caracteres válidos

Você deve escrever um programa / função válido em um dos idiomas fornecidos, usando apenas os caracteres na caixa de ferramentas. Seu programa / função deve gerar o número de respostas já presentes nesta pergunta.

Depois de escrever e postar uma resposta, o idioma e os caracteres usados ​​serão removidos da caixa de ferramentas e 1 novo idioma e 8 novos caracteres serão adicionados aleatoriamente para serem usados ​​como caixa de ferramentas para a próxima resposta.

Regras

  • Cada resposta irá:

    • Emita o número de respostas válidas antes de ele
    • Contenha um subconjunto dos caracteres fornecidos na caixa de ferramentas para essa resposta. (repetições são permitidas)
    • Esteja em um dos idiomas da caixa de ferramentas fornecida
  • A próxima caixa de ferramentas será determinada por este programa python. Para gerar a próxima caixa de ferramentas, coloque os idiomas e os caracteres restantes, juntamente com o ID da postagem da última resposta.

  • A lista de idiomas aqui é composta por todos os idiomas disponíveis para experimentação online no momento desta postagem. Os caracteres têm códigos de caracteres de 0 a 127.

  • Você pode escrever um programa completo ou uma função como resposta. Como os REPLs são idiomas diferentes, eles não serão permitidos. (use a versão TIO de todos os idiomas)

  • Se um idioma usa uma codificação especial, os caracteres devem ser interpretados como bytes (decodificados em ASCII e preenchidos com zero).

  • A caixa de ferramentas inicial será randomizada a partir desta ID de postagem das perguntas ( 128464 ), haverá 7 idiomas para iniciar e eu adicionarei os caracteres echoprint0e ascii 0-31 gratuitamente para ajudar as pessoas.

  • Você não pode responder duas vezes seguidas

Pontuação

Cada vez que uma pessoa responde, recebe vários pontos por sua resposta. O objetivo é conseguir o máximo de pontos possível. Para obter uma resposta no idioma X, você terá tantas voltas quanto o idioma X não for utilizado na caixa de ferramentas. Por exemplo, a primeira pessoa a responder receberá 1 ponto porque o idioma acabou de ser adicionado à caixa de ferramentas. Não haverá necessariamente um fim e eu não aceitarei respostas.

Sporting

Esta é uma competição, mas eu encorajo você a colocar a diversão acima da vitória e ainda assim permanecer competitiva (se eu pudesse tornar os critérios de vitória "divertidos"). Algumas coisas que não são divertidas:

  • Usando personagens intencionalmente, você não precisa atrapalhar respostas futuras.
  • Tentativa de burlar o sistema de identificação de postagem para tornar as caixas de ferramentas futuras mais difíceis de usar.
  • Tentativa de burlar o sistema de identificação de postagem para facilitar o uso de futuras caixas de ferramentas.

Não posso impedir que alguém faça essas coisas, mas vou votar de forma negativa todas as respostas que suspeito que estejam fazendo isso.

Em uma nota mais positiva, aqui estão algumas coisas boas e esportivas:

  • Coordenando com outros usuários no chat.
  • Salvando caracteres para idiomas mais difíceis ou mais restritivos

Esta é uma segunda iteração de um desafio encontrado aqui . Melhora uma série de problemas com o primeiro. Aqui está uma meta discutindo essas questões.

Post Rock Garf Hunter
fonte
Qual é a primeira caixa de ferramentas?
CalculatorFeline
@CalculatorFeline Está vinculado à pergunta, semeado com o ID da pergunta.
Post Rock Garf Hunter
1
@tuskiomi a pergunta mais antiga e a pergunta mais recente são criadas pela mesma pessoa, e é apropriado encerrar as perguntas mais antigas como duplicatas de perguntas melhores e mais recentes.
Stephen
2
@tuskiomi A maior diferença é o número de caracteres adicionados à sandbox a cada vez. Anteriormente, eram 12, que rapidamente saíram do controle, o que significa que praticamente todas as respostas tinham todo o ASCII disponível. Reduzi para 8, que era o número médio de caracteres usados ​​por todas as respostas da última versão. Concordo que a diferença na semente e na pontuação são pequenas alterações, mas a diminuição de caracteres é toda a razão pela qual fiz uma segunda iteração.
Post Rock Garf Hunter
1
Tenho certeza de que isso é impossível. Os programas Str exigem que um ;(não esteja na caixa de ferramentas) faça qualquer coisa quando não houver entrada. Os programas Condit e Tcl requerem um espaço (não na caixa de toobox) como parte da sintaxe. Esquema precisa (. Brain-Flak não pode funcionar por razões óbvias (apenas o caractere na caixa de ferramentas que ele entende é )). O Java 8 precisa de um {(não na caixa de ferramentas) para declarar uma função. Isso deixa apenas o máximo, que eu acho que não pode imprimir coisas sem "imprimir" ou declarar uma função sem o uso de parênteses.
pppery

Respostas:

8

Isto é impossível

Passando por todos os idiomas no langbox:

  1. A linguagem de programação tcl consiste em palavras separadas por espaços. O caractere de espaço não está na caixa de ferramentas, portanto, nenhum programa válido pode ser gravado.
  2. Programas Str, por padrão, transformam a entrada. Para que eles façam qualquer coisa quando não recebem nenhuma entrada, o ;caractere é necessário, o que não está na caixa de ferramentas.
  3. O único meio de um programa no schema-chez fazer alguma coisa é chamar uma função usando parênteses. Todos os programas schema-chez, portanto, precisam do (caractere, que não está na caixa de ferramentas
  4. Os programas Brain-Flak precisam de colchetes equilibrados. O único caractere de colchete na caixa de ferramentas é ), portanto, nenhum programa contendo colchetes balanceados é possível.
  5. Semelhante ao esquema, os programas maxima exigem parênteses para fazer qualquer coisa.
  6. Os programas Java exigem que as seqüências de caracteres {ou ->declarem uma função (e todos os programas completos precisam de pelo menos uma função), nenhuma das quais está na caixa de ferramentas.
  7. Os programas Condit exigem a palavra when, que contém o caractere "e", que não está na caixa de ferramentas.

Provas de impossibilidade são permitidas como respostas

pppery
fonte