Deadfish là một "ngôn ngữ lập trình" đùa với bốn lệnh. Vì trang Esolang hơi mâu thuẫn và các thông dịch viên trên trang đó không hoạt động giống hệt nhau, nên bạn nên thực hiện biến thể sau:
Đặc điểm kỹ thuật
- Có một bộ tích lũy có kích thước tối thiểu 16 bit, được phép nhiều hơn nhưng ít hơn là không. Số âm không cần phải được hỗ trợ. Bộ tích lũy là
0
khi chương trình bắt đầu. - Có hai bộ bốn lệnh sau và chương trình của bạn phải hỗ trợ cả hai cùng một lúc.
Cá chết tiêu chuẩn Biến thể XKCD │ Ý nghĩa ─ ─ ─ ─ Giới thiệu về giới tính của bạn i │ x accum Tích lũy tăng d │ d accum Bộ tích lũy giảm dần s │ k │ Hình vuông (acc = acc * acc) o │ c accum Bộ tích lũy đầu ra, dưới dạng số
- Nếu, sau khi thực hiện một lệnh, bộ tích lũy là
-1
hoặc256
, bộ tích lũy phải được đặt lại về 0. Lưu ý rằng đây không phải là bao quanh bình thường. Nếu, giả sử, bộ tích lũy là20
vàs
lệnh được chạy, bộ tích lũy sẽ là400
sau đó. Tương tự, nếu bộ tích lũy257
vàd
lệnh được chạy, bộ tích lũy sẽ trở thành0
. - Bất kỳ đầu vào nào không phải là một trong những lệnh này sẽ bị bỏ qua.
Chương trình kiểm tra
xiskso
nên đầu ra0
xiskisc
nên đầu ra289
Tôi / O
Chương trình của bạn sẽ hiển thị lời nhắc : >>
. Lời nhắc phải ở đầu một dòng mới. Sau đó, nó sẽ đọc một dòng đầu vào của người dùng và chạy các lệnh đã cho từ trái sang phải. Khi xuất số, các số phải được tách. Tức 12 34
là ổn, 12,34
ổn
12
34
Không sao, nhưng 1234
không phải.
Chương trình của bạn nên tiếp tục làm điều này trong một vòng lặp, ít nhất là cho đến khi EOF
đạt được.
Phiên ví dụ:
>> xiskso
0
>> xiskisc
289
>> ddddo ddddo
285
281
>> ddddo ddddo
277
273
>> dddddddo
266
>> dddddddddo
257
>> do
0
>> do
0
>> io
1
>>
#{STDIN.gets}
sẽ hoạt động nhưng thực sự nó không.