Deadfish는 농담 프로그래밍 언어입니다. 난해한 프로그래밍 언어 위키에 따르면 농담 프로그래밍 언어는 다음과 같습니다.
잠재적인 유머 가치를 제외하고는 어떤 관심도 없습니다. 일반적으로 이론상으로도 프로그래밍에는 전혀 사용할 수 없습니다.
그러한 농담 언어 중 하나가 Deadfish입니다.
Deadfish는 원래 Fishheads라고 불릴 예정이었습니다. 이 언어로 프로그래밍하는 것은 날 생선 머리를 먹는 것과 같기 때문입니다. 그러나 언어의 제한적인 기능으로 인해 이 언어로 프로그래밍하는 것은 죽은 생선 머리를 먹고 (그리고 냄새를 맡아야 하는) 것과 같았으며, 일반적으로 일반적으로 즐거운 것으로 간주되지 않는 경험이었습니다.
그럼에도 불구하고 Deadfish의 위키 페이지에는 C, C#, C++, Chicken, Clever, COBOL 및 Commodore 64 BASIC을 포함한 65개 언어로 구현된 내용이 포함되어 있습니다.
Deadfish는 원래 Deadfish 언어의 상위 집합인 Deadfish~로 확장되었습니다. 아마도 합당한 이유가 무엇인지, Deadfish~는 구현되지 않은 채 남아 있었습니다... 오늘까지.
Deadfish 프로그램에는 0으로 초기화되는 단일 정수 누산기 변수가 있습니다. 프로그래밍 언어는 네 가지 작업만 정의합니다.
cmd | 설명 |
---|---|
나 | 이는 누산기를 증가시킵니다. |
디 | 이는 누산기를 감소시킵니다. |
에스 | 누산기의 값을 제곱합니다. |
영형 | 누산기를 출력합니다. |
누산기가 -1 또는 256이 되면 0으로 재설정됩니다.
Deadfish~는 Deadfish 프로그래밍 언어의 상위 집합입니다. 프로그램에는 Deadfish와 동일한 단일 정수 누산기 변수가 있습니다. 이는 0으로 초기화되고 값 -1 및 256에 대해 동일한 동작을 갖습니다. 언어는 지원되는 명령에 대한 다음 표가 포함된 esolangs.org 페이지를 통해 정의됩니다.
cmd | 설명 |
---|---|
나 | 이는 누산기를 증가시킵니다. |
디 | 이는 누산기를 감소시킵니다. |
기음 | 누산기를 문자로 만듭니다. |
영형 | 누산기를 출력합니다. |
에스 | 누산기의 값을 제곱합니다. |
{} | 중괄호 내부의 명령은 1씩 증가하여 0회에서 10회까지 반복됩니다. |
() | 누산기가 0이 아니면 내부 명령문을 한 번 실행합니다. |
시간 | 정지 |
승 | 안녕하세요, 월드! 인사말이 표시됩니다 |
이 명령 중 몇 가지는 약간 모호하므로 이 구현에서는 다음과 같이 결정했습니다.
c
, 누산기를 ASCII 문자로 출력하고 누산기의 값은 변경되지 않은 채로 둡니다.{}
, 중괄호 안의 문이 10번 반복됩니다.이 코드는 오류 검사를 수행하지 않으며 Deadfish의 원 작성자가 원했던 것처럼 잘못된 명령이나 잘못 중첩된 중괄호를 자동으로 건너뜁니다.
#용법
소스 코드는 deadfish.py
에 완전히 포함되어 있습니다. deadfish.deadfish
메서드를 사용하여 Deadfish 문자열을 평가합니다.
>> > import deadfish
>> > deadfish . deadfish ( "iisiiiis{ic}{ic}icicicicicic" )
ABCDEFGHIJKLMNOPQRSTUVWXYZ
deadfish.deadfish_cli()
를 통해 액세스할 수 있는 Deadfish~용 CLI도 있습니다.
>>> deadfish.deadfish_cli()
>>iiio
3
>>h
deadfish_cli()
에서:
>>iisiiiisiiiiiiiiciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiciii{c}dddddddddcdddddddciiiiiiiiiicdddddddc
Horrrrrrrrrrible
>>o
101
>>w
Hello, World!
이 예는 Deadfish 위키 페이지 상단의 표준 쿼리를 보여주며, Deadfish에서 '예상'하는 것처럼 산술이 작동함을 보여줍니다.
>>iisssoiissiso
0289