Tente escrever algum código em sua linguagem e faça com que não satisfaça mais nossos critérios de ser uma linguagem de programação .
Uma linguagem satisfaz nossos critérios (versão simplificada para este desafio) de ser uma linguagem de programação se:
- Ele pode ler a entrada do usuário representando tuplas de números inteiros positivos de alguma forma.
- Pode gerar pelo menos dois resultados possíveis diferentes, dependendo da entrada.
- É possível pegar dois números inteiros positivos e adicioná-los (e o resultado pode afetar a saída).
- Ele pode pegar um número inteiro positivo e decidir se é um primo (e o resultado pode afetar a saída).
- Para os fins deste desafio, qualquer tipo de saída que não seja um método de saída permitido para um desafio normal é ignorado. Portanto, não importa se o programa também pode tocar uma música ou postar via HTTP, etc.
- Atualização: Você também pode escolher um ou alguns dos métodos de saída permitidos e ignorar todos os outros. Mas você deve usar a mesma definição em todos os lugares nos seguintes critérios. E se o seu programa pode desativar mais de um método de saída - isso vale mais votos.
Exemplos como impossibilidade de saída ou desativação de todas as construções de loop, para que não seja possível fazer o teste de primalidade e garantir que o usuário não possa reativá-las.
Você deve deixar um local para inserir um novo código. Por padrão, está no final do seu código. Se considerarmos colocar o código-fonte nesse local na sua resposta e executar o código completo como um programa completo, o intérprete de um novo idioma, esse idioma não deve atender aos critérios.
Mas o código inserido deve ser executado de maneira semelhante a uma linguagem que atenda aos critérios:
- O código inserido deve ser gramaticalmente o mesmo que algo (digamos, é um bloco de código nos seguintes critérios) que geralmente satisfaz os critérios, da perspectiva de quem deseja escrever um marcador de sintaxe. Portanto, não pode estar em uma sequência, comentário, etc.
- O código inserido deve ser realmente executado, de forma a satisfazer os critérios. Portanto, ele não pode estar em uma função não utilizada ou
sizeof
em C, você não pode apenas executar apenas uma parte não funcional no código e não pode colocá-lo após um loop infinito, etc. - Você não pode limitar o número de possíveis programas gramaticalmente corretos possíveis gerados dessa maneira. Se já existe algo como um limite de comprimento no idioma que você está usando, ele não deve atender aos critérios, mesmo que esse limite seja removido.
- Você não pode modificar ou "esgotar" o conteúdo da entrada / saída, mas pode impedir que eles sejam acessados.
- Esses critérios geralmente se aplicam apenas a idiomas sem E / S explícita:
- Seu código deve redirecionar a entrada do usuário (que contém informações de tamanho arbitrário) para o código inserido, se um bloco de código normalmente não conseguir obter a entrada do usuário direta / explicitamente no idioma que você está usando.
- Seu código deve imprimir o valor retornado do código inserido, se um bloco de código normalmente não é capaz de produzir coisas direta / explicitamente no idioma que você está usando.
- Caso você imprima o valor retornado e ele seja digitado no idioma que você está usando, o tipo retornado deverá ter 2 valores praticamente possíveis possíveis. Por exemplo, você não pode usar o tipo
struct {}
oustruct {private:int x;}
em C ++.
Este é um concurso de popularidade. A resposta válida mais votada (para que ninguém tenha detectado um erro ou todos os erros sejam corrigidos) vence.
Esclarecimentos
- Você não deve modificar o código no formato de texto, mas pode alterar a sintaxe antes que o código seja interpretado ou compilado.
- Você pode fazer outras coisas enquanto o código estiver em execução. Mas a razão de não atender aos critérios deve estar dentro do próprio código inserido. Pode ocorrer um erro devido à interferência de outro encadeamento, mas não apenas ser morto por outro encadeamento.
- Todas as especificações basicamente significam que deve ser gramaticalmente provável que satisfaça os critérios se todos os embutidos não forem alterados, mas não o fizerem realmente. Tudo bem se você encontrar soluções alternativas não gramaticais, como passar os parâmetros para o bloco de código corretamente, mas torná-los incapazes de serem usados de alguma maneira.
- Novamente, o código inserido deve ser realmente executado. O código após um loop infinito ou falha é considerado "realmente não executado", portanto, não é válido . Essas respostas podem ser interessantes, mas já existem outras perguntas infinitas ou repetidas neste site, e você pode encontrar uma resposta mais apropriada. Caso contrário, considere fazer uma nova pergunta. Exemplos dessas perguntas são:
Entre os melhores
var QUESTION_ID=61115/*,OVERRIDE_USER=8478*/;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,/*getComments()*/(more_answers?getAnswers():process())}})}/*function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}*/function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),score:s.score,language:a[1],lang:jQuery('<div>').html(a[1]).text(),link:s.share_link})}),e.sort(function(e,s){var r=e.score,a=s.score;return a-r});var s={},r=1,a=null,n=1;e.forEach(function(e){e.score!=a&&(n=r),a=e.score,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",e.n=n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.score).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text())/*,s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}*/});var t=e/*[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o])*/;t.sort(function(e,s){return (e.lang.toUpperCase()>s.lang.toUpperCase())-(e.lang.toUpperCase()<s.lang.toUpperCase())||(e.lang>s.lang)-(e.lang<s.lang)});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{PLACE}}",o.n).replace("{{LANGUAGE}}",o.language).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.score).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<(?:h\d|(?!.*<h\d>)p)>\s*((?:[^,;(\s]| +[^-,;(\s])+)(?=(?: *(?:[,;(]| -).*?)?\s*<\/(h\d|p)>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;float:left}table{width:250px}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="https://cdn.sstatic.net/Sites/codegolf/all.css?v=7509797c03ea"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Score</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Sorted by Language</h2> <table class="language-list"> <thead> <tr><td></td><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{PLACE}}</td><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>