Tôi đang cố gắng đọc một dòng từ một io theo cách không chặn.đường không bị chặn của ruby đọc
Thật không may là readline
khối. Tôi nghĩ rằng tôi có thể giải quyết điều này với read_nonblock
với một bộ đệm bổ sung mà tôi lưu trữ một phần kết quả, kiểm tra xem có nhiều dòng trong bộ đệm, vv .. nhưng có vẻ như một chút phức tạp cho một nhiệm vụ đơn giản như thế này. Có cách nào tốt hơn để làm điều này?
Lưu ý: Tôi đang sử dụng sự kiện giải mã kênh (select
) và tôi khá hài lòng với nó, tôi không muốn tạo chủ đề, sử dụng EventMachine, vv ...
Yeah, đó là ý tưởng ban đầu của tôi, và đó là những gì cuối cùng tôi đã làm, nhưng tôi đọc càng nhiều càng tốt tôi có thể (không chỉ là một char duy nhất), tôi nghĩ rằng đó là tốt hơn cho hiệu suất. Cảm ơn cho tip monke-patch;) –