Tôi có một tập lệnh ruby đồng thời và không đồng bộ nhận và hiển thị tin nhắn từ máy chủ và cho phép người dùng nhập vào bảng điều khiển. Khi nhận được một tin nhắn, nó hiện đang được viết ở giữa những gì người dùng đang gõ. Bản thân đầu vào không bị cắt xén, nhưng có vẻ khủng khiếp. Lý tưởng nhất, nó sẽ lưu đầu vào hiện tại của người dùng, xuất thông báo, và sau đó khôi phục đầu vào trên dòng tiếp theo. Tôi đã làm điều này trong c bằng cách ngăn chặn mọi đột quỵ quan trọng, nhưng tất cả những gì tôi nhớ là nó là một rắc rối lớn. Tôi khá mới với ruby, vì vậy tôi không chắc chắn nếu có một cách tốt để làm điều này, hoặc làm thế nào để làm điều đó.Đầu ra cho bàn điều khiển trong khi vẫn giữ đầu vào của người dùng trong ruby
Ví dụ: Người dùng đang nhập >abcde
và thông báo hello
xuất hiện và loại người dùng fgh
sau đó. Bảng điều khiển sẽ hiển thị:
>abcdehellofgh
và người dùng có thể tiếp tục nhập ở cuối. Tôi muốn nó hiển thị:
hello
>abcdefgh
Bạn có thể chấp nhận một giải pháp sử dụng thư viện ncurses không? –
Chắc chắn. Tôi không quen với gói đó, nhưng tôi sẽ mở để xem ví dụ. – captncraig
Nhìn vào ncurses sâu hơn, nó chắc chắn trông giống như những gì tôi cần, tôi chỉ không chắc chắn làm thế nào để thực hiện điều này cả. Thư viện khá phức tạp, và các ràng buộc ruby không được ghi chép đầy đủ. – captncraig