몇 가지 표준을 어기십시오! [닫은]

모든 사람들은 “규칙이 깨졌습니다!”라는 문구를 알고 있으므로 다음과 같이하십시오.

표준을 위반하는 언어로 코드를 작성하십시오. 이것은 (라우터 핑에 USB 케이블 아래 240 개 볼트 퍼팅에서 아무것도 할 수 없습니다 것부터 10mb 패킷으로 다른 사람의 웹 사이트는 )하는 것까지 가능합니다! (아이디어를 얻지 마십시오.이 두 가지 모두 아마도 모든 종류의 운명을 초래할 것입니다!)

10 일 후 가장 많이 답한 답변 (즉, 가장 심각한 위반)이 이길 것입니다!

규칙 :

  1. 코드를 설명해야합니다.
  2. 깨고있는 표준은 연결되어 있어야하며, 깨 뜨리려면 무엇을하고 있는지 설명해야합니다 (1을 의미). 그렇지 않으면 답변이 수락되지 않습니다.
  3. 인터프리터가 충돌하거나 작동을 멈추게하는 답변은 받아 들여지지 않습니다. ?IDLE에 붙여 넣는 것뿐만 아니라 창의적인 답변을 원합니다 (충돌)
  4. 악용 버그는 표준을 위반하지 않는 한 허용되지 않습니다. 그렇지 않으면 답변이 수락되지 않습니다

시작하고 재미있게 보내십시오!



답변

파이썬

print 'Hello World'

설명:

프로그래밍 퍼즐 및 코드 골프 스택 교환의 표준 이다

질문을주의 깊게 읽으십시오. 구체적으로, 질문이 무엇입니까? 귀하의 답변이 다음을 제공하는지 확인하십시오

이 코드는 질문에 대답하지 않으므로 표준을 위반합니다.


답변

C
여기에 우분투 12.04에서 gcc4.6.3을 사용하여 컴파일하고 성공적으로 실행하는 팩토리얼 프로그램이 있지만 C 표준 에 따라 정의 할 수없는 많은 동작을 호출합니다 . 대부분 여기 에서 영감을 얻었습니다 . 나머지 법적 코드는 많이 나쁘다.

int read(char** src, int into){
  int _r;                             //leading underscores reserved, and
  if (!--into) sscanf(*src,"%d",&into); //_r uninitalized
  *(*(--src)+into)=_r>>360;            //shifting more bits than we have
  while (into-->0) (*src)[into]='.'; //modifying const char argv
  printf(*src); // no return statement
}

main(int argc, const char** const argv){
  union  { int x; float y;} result;
  int f,minus1=0xFFFFFFFF,r,a[]={0};
  r=a[3]&2;                     //accessing past end of array
  result.x=read(&argv[r],--r);  //relying on order of arguments
  for(f=*(int*)&result.y;f;f+=minus1) //type punning/invalid union access,
    r*=f;                            //and unsigned overflow
  printf("%d\n",(&r+2)[-2]); //negative array indexes
}

답변

XHTML

<p>
   <div></div>
</p>

W3C 사양 ( http://www.w3.org/TR/html-markup/p.html#p ) :

p – 단락

p 요소는 단락을 나타냅니다.

허용 된 내용

문구 구하기

오 더럽다!

편집 : @xfix 는 내가 표시하는 오류가 실제로 XHTML 임을 지적했습니다. 이로 인해 발생하는 HTML 오류는 더 시원하고 덜 명확합니다.

<p><div></div><p>원인 자체가 닫히기 <p /><div></div></p>때문에 됩니다 . 존재하지 않는 단락을 닫으려고하므로 오류가 발생합니다.<div><p>


답변

HTTP / 1.1 : 응답-상태 코드 및 이유 문구

Status-Code 요소는 3 자리 숫자입니다.

더 나아갈 필요가 있습니까? 이 상태 코드는 표준에 정의 된 코드 중 하나가 아닙니다. 필수 범주 숫자 중 하나로 시작하지도 않습니다. 길이는 3 자리가 아닙니다.

브라우저가 여전히 페이지를 잘로드합니다.

또한이 답변은이 사이트의 “표준”중 하나를 위반합니다. 🙂

출력 (상태 라인) :

HTTP/1.1 0 :)
var http = require("http");
var server = http.createServer(onHttpRequest);
server.listen(80);

function onHttpRequest(request, response)
{
    response.writeHead(0, ":)", { "Content-Type": "text/plain" });
    response.write("Hello, World!");
    response.end();
}

자바 스크립트 (노드)


답변

방금 몇 가지 표준을 어겼습니까?

나는 정말로 끔찍한 프로그래밍을했다.

PHP

a: goto lol; begin();
b:
c: echo j; goto h;
d: echo u;
e: echo s;
f: echo t;
g:
h: echo k; goto o;
i: echo i; goto c;
j: echo l;
k: echo l;
l: echo e;
m: echo d;
n:
o: echo s;
p: echo t; goto u;
q: echo a; goto z;
r: echo n;
s: echo d;
t: echo a;
u: echo r; goto q;
v: echo D; goto i;
w: echo s;
x:
y:
z: die("!");
lol: goto v;

부활절 달걀 :echo 세로로 읽으면 에드 문자는 읽을 것이다 just killed standarDs!.

참고 : 이 프로그램을 실행하면 gotos 를 정말 좋아하는 사람의 이름이 출력됩니다 .


답변

C #-유니 코드 깨기

문자열을 뒤집는 간단한 알고리즘 :

public string Reverse(string s)
{
    StringBuilder builder = new StringBuilder();
    for (int i = s.Length - 1; i >= 0; i--)
    {
        builder.Append(s[i]);
    }
    return builder.ToString();
}

이는 서로 게이트 쌍을 올바르게 유지하지 않아 유효하지 않은 문자열을 생성하므로 유니 코드 표준을 깨뜨립니다. .NET 및 기타 여러 플랫폼 / 프로그래밍 언어에서 a char는 실제로 문자가 아니라 UTF-16 코드 단위입니다.

주의 : 그것은 또한 어떤 문자가 의도되거나 또는 의도되지 않을 수있는 후속 결합 마크 (예를 들어 분음 부호)와 결합되는지를 변경합니다.


답변

자바 스크립트

이 페이지의 콘솔에서 실행하십시오.

var items = [], p = 1, finish = false, intr = setInterval(function() {
    if (p >= 10) finish = true
    $.get(unescape(escape('http://api.stackexchange.com/2.2/answers?page=' + (p++) + '&pagesize=100&order=desc&sort=votes&site=codegolf&filter=!*LVwAFZ.YnaK-KS*')), function(x) {
        items = items.concat(x.items)
        if (finish) {
            clearInterval(intr)
            onFinish()
        }
    })
}, 500)

function onFinish() {
    var item = items[Math.floor(Math.random() * items.length)]
    document.write(item.body)
}

에서 영감을 받다

이 사이트에 대한 대부분의 답변은 최소한 하나의 코딩 표준을 위반합니다 … – Comintern 1 시간 전

그것이하는 일은 codegolf.SE에서 투표 한 상위 1000 가지 중에서 무작위 답변을 출력 하는 것입니다 (즉, 매우 메타적인 방식으로 문제를 해결하십시오!).


불행히도 출력 은 표준이 깨진 코드 이므로 기술적으로 규칙을 충족시키지 못 document.write하므로이 코드에서 표준을 위반했습니다-사용했습니다 (ewwww). 또한 링크를 제공해야합니다. 여기에서 document.write가 “나쁜 습관”으로 간주되는 이유는 무엇입니까?

만약 그것이 “표준을 어기는 것”으로 간주되지 않는다면 unescape(escape()), MDN에 따라 줄을 줄입니다. .

규칙을 피하기 위해이 모든 것을 실제로하고 있으며이 답변의 주요 요점은 출력입니다.


샘플 실행 (이미지를 클릭하면 확대) :