あなたの言語でコードを書き、プログラミング言語であるという基準をもはや満たさないようにしてください。
言語は、次の場合にプログラミング言語であるという基準(この課題の簡略版)を満たします。
- 何らかの方法で正の整数のタプルを表すユーザー入力を読み取ることができます。
- 入力に応じて、少なくとも2つの異なる結果を出力できます。
- 2つの正の整数を取り、それらを追加できます(結果は出力に影響する可能性があります)。
- 正の整数を取り、それが素数であるかどうかを判断できます(結果は出力に影響する可能性があります)。
- このチャレンジの目的上、通常のチャレンジで許可されている出力方法ではない出力は無視されます。そのため、プログラムで音楽を再生したり、HTTP経由で投稿したりできるかどうかは関係ありません。
- 更新:許可された出力方法の1つまたはいくつかを選択し、他のすべてを無視することもできます。ただし、次の基準ではどこでも同じ定義を使用する必要があります。また、プログラムで複数の出力メソッドを無効にできる場合は、さらに価値があります。
出力できないようにする、またはすべてのループ構造を無効にして素数テストを実行できないようにし、ユーザーがそれらを再度有効にできないようにするなどの例。
新しいコードを挿入する場所を残す必要があります。デフォルトでは、コードの最後にあります。回答のソースコードをその場所に配置し、完全なコードを新しい言語のインタープリターとして完全なプログラムとして実行することを検討する場合、その言語は基準を満たさないはずです。
ただし、挿入されたコードは、基準を満たす言語のような方法で実行する必要があります。
- 挿入されたコードは、構文ハイライターを作成したい人の観点から、一般的に基準を満たしているもの(たとえば、次の基準のコードブロック)と文法的に同じでなければなりません。そのため、文字列、コメントなどに含めることはできません。
- 挿入されたコードは、基準を満たすように実際に実行する必要があります。したがって、未使用の関数や
sizeof
Cに含めることはできません。コード内の非機能部分のみを実行することはできません。また、無限ループなどに配置することもできません。 - この方法で生成される文法的に正しいプログラムの数を制限することはできません。使用している言語に既に長さ制限のようなものがある場合、この制限が削除されても、基準を満たさないはずです。
- 入力/出力の内容を変更または「使い切る」ことはできませんが、アクセスを防ぐことができます。
- これらの基準は通常、明示的なI / Oのない言語にのみ適用されます。
- コードブロックは通常、使用している言語で直接/明示的にユーザー入力を取得できない場合、ユーザー入力(任意の長さの情報を含む)を挿入されたコードにリダイレクトする必要があります。
- コードは通常、使用している言語で直接/明示的に物を出力できない場合、挿入されたコードの戻り値を出力する必要があります。
- 返された値を印刷し、使用している言語で入力された場合、返された型は実際に可能な2つの異なる値を持つことができるはずです。たとえば、タイプ
struct {}
またはstruct {private:int x;}
C ++では使用できません。
これは人気コンテストです。最も高い投票された有効な回答(だから誰もエラーを見つけなかったか、すべてのエラーが修正された)が勝ちです。
明確化
- テキスト形式のコードは変更しないでくださいが、コードが解釈またはコンパイルされる前に構文を変更できます。
- コードの実行中に他のことを行うことができます。しかし、それが基準を満たさない理由は、挿入されたコード自体の中にあるべきです。別のスレッドの干渉が原因でエラーになる可能性がありますが、別のスレッドに殺されるだけではありません。
- すべての仕様は基本的に、すべての組み込みが変更されていないが実際に変更されていない場合、文法的に基準を満たす可能性が高いことを意味します。パラメータをコードブロックに正しく渡すなど、文法的ではない回避策を見つけても、何らかの方法で使用できないようにするのは問題ありません。
- 繰り返しますが、挿入されたコードは実際に実行する必要があります。無限ループまたはクラッシュ後のコードは「実際には実行されていない」と見なされるため、有効ではありません。これらの回答は興味深いかもしれませんが、このサイトにはすでに他の無限ループまたはクラッシュする質問がいくつかあり、回答するのにより適切なものを見つけることができます。そうでない場合は、新しい質問をすることを検討してください。それらの質問の例は次のとおりです。
リーダーボード
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>