문제는 문자열 찾는 것입니다 수 없습니다 에 나타나는 어떤 선택의 프로그래밍 언어로 법적 프로그램. 여기에는 주석, 문자열 또는 기타 "실행 불가능한"부분이 포함됩니다.
도전
- 귀하의 프로그램은 특정 버전 또는 특정 언어의 컴파일러 / 통역사 / 런타임 환경 구현에 따라 달라질 수 있습니다. 그렇다면 세부 사항을 지정하십시오.
- 표준 컴파일러 / 통역사 / 런타임 옵션 만 허용됩니다. 특정 결과를 얻기 위해 이상한 플래그를 컴파일러에 전달할 수 없습니다 (예 : 경고를 오류로 변환하기 위해 플래그 전달).
- 프로그래밍 언어에 특정 인코딩 (예 : UTF-8)이 필요한 경우 문자열도 올바르게 인코딩해야합니다 (예 : 문자 디코딩 오류로 인해 실패하는 문자열은 허용되지 않음).
- 제출 한 모든 개별 인물은 법적 프로그램에서 허용되어야합니다. 즉, 항상 거부되는 문자 만 사용할 수는 없습니다.
- 컴파일러 / 인터프리터 / 런타임은 문자열을 하위 문자열로 포함 하는 소스 코드가 제공 될 때 오류를 발생시켜야합니다 . 오류는 프로그램 전체에서 동일 할 필요는 없습니다. 한 문자열을 포함하면 구문 오류가 발생하고 다른 하나는 런타임 오류가 발생할 수 있습니다.
채점
- 각 언어마다 가장 짧은 불법 문자열이 이깁니다.
- 문자열이 불법 인 이유 를 설명해야합니다 (법적 프로그램의 어느 곳에도 표시 할 수없는 이유).
- 의견에 잘못된 해결책을 제시하십시오. 보다 구체적으로, 제안 된 하위 문자열을 포함하는 법적 프로그램 (즉, 오류를 생성하지 않는 프로그램)을 보여주는 TIO 또는 이에 상응하는 링크를 제공해야합니다.
- 일부 언어 (예 : Bash, Batch, Perl)는 유효성에 영향을 미치지 않고 (예 :
__DATA__
Perl에서 사용) 임의의 이진 데이터를 프로그램에 추가 할 수 있습니다 . 이러한 언어의 경우, 후행 섹션 에만 표시 될 수있는 솔루션을 제출할 수 있습니다 . 답에 메모 해 두십시오. 이 "트레일 링 섹션"의 정의는 언어에 따라 다르지만 일반적으로 파서가 스크립트 읽기를 완전히 중단 한 후에는 모든 텍스트를 의미합니다.
예
파이썬에서는 제출할 수 있습니다.
x
"""
'''
그러나 이것은 더 큰 프로그램에 포함될 수 있습니다
"""
x
"""
'''
y
'''
허용되지 않습니다.