Sau khi tôi tham gia Thế giới Hello bị xáo trộn, tôi nghĩ sẽ rất vui khi chia sẻ mã cơ bản. Nhưng tại sao chỉ hiển thị mã, hãy làm cho nó một golf!
Thử thách
Viết một kịch bản cuộn một chuỗi trên thiết bị đầu cuối, từ phải sang trái, giải quyết ở phía bên trái.
Đầu vào
Lấy một chuỗi làm đối số.
Kết quả
In vùng di chuyển đến STDOUT. Chiều rộng tối đa ~ 50 ký tự. Bắt đầu với 0 hoặc 1 char hiển thị. Một số khoảng trống giữa các chữ cái trong khi cuộn. Dừng khi ổn định (không có khoảng trắng giữa các ký tự từ). Cuộn chậm, nhưng không quá chậm (<1s mỗi lần lặp).
Thí dụ
Chạy script với arg 'Hello World'
H
một lát sau
H e l l o W o
một lát sau
H e l l o W o r l d
một lát sau
Hell o W o r l d
cuối cùng
Hello World
Để biết ví dụ đang chạy, hãy thử mã của tôi từ thử thách "Hello World". Cuối cùng tôi sẽ đăng bài của tôi. Nó hiện là 202 ký tự trong Perl. Bây giờ có một số đối thủ cạnh tranh, tôi đã đăng của tôi trong câu trả lời.
Người chiến thắng
Tôi không muốn các hạn chế là tuyệt đối, đó là lý do tại sao tôi để lại một chút mơ hồ. Kịch bản ngắn nhất theo tinh thần ban đầu của tôi sẽ giành chiến thắng.
Ghi chú
Trò chơi này giả định xterm
môi trường. Nếu một môi trường khác tỏ ra hữu ích, chỉ những môi trường tương tự sẽ được so sánh và một người chiến thắng riêng biệt có thể được tuyên bố cho từng môi trường.
Phụ lục (ngày 25 tháng 4 năm 2012)
Để giải quyết một số vấn đề vừa chớm nở, tôi đang đưa ra phán quyết. Số lượng ký tự của bạn phải bao gồm mã cần thiết để:
- Flush STDOUT (Nhìn vào bạn Ruby)
- Triển khai
sleep
với độ trễ thời gian <1s (Nhìn vào bạn Perl)
Điều này có thể được thực hiện khi dòng lệnh chuyển sang một trình thông dịch, nhưng những ký tự đó được tính trong tổng số (sans xung quanh khoảng trắng).
xterm
,vt102
, ...?