Tôi đang cố gắng để có được một xử lý về những điều cơ bản của Haskell bằng cách tạo ra một tìm kiếm tập tin kiểu tìm kiếm kiểu Asational Velocity trên dòng lệnh. Thay vì giải quyết toàn bộ vấn đề, tôi đang thử một phiên bản rất cơ bản của nó: Có một tệp có 10 dòng và 3 chữ cái trên mỗi dòng. Sau mỗi chữ cái tôi nhập, tôi muốn cập nhật hiển thị danh sách các số dòng có thể chứa từ tôi đang nhập, dựa trên dữ liệu nhập của tôi cho đến thời điểm này.Thành ngữ Haskell nào tôi có thể sử dụng để thực hiện tự động hoàn thành tìm kiếm khi bạn nhập tự động hoàn thành tại dòng lệnh?
Ai đó có thể chứng minh chương trình Haskell thực hiện việc này không? Tôi nghĩ rằng vấn đề của tôi nằm trong việc buộc đánh giá lại mọi đầu vào nhân vật. Cảm ơn một triệu trước.
Điều này ít về khả năng của Haskell và nhiều hơn nữa về khả năng của dòng lệnh. Nói chung, tôi không nghĩ rằng mã của bạn có thể biết những gì được viết trong dòng lệnh trước khi người dùng nhấn [Enter]. –
@ KarolisJuodelė Tôi nghĩ rằng một chương trình chắc chắn có thể làm điều đó - ví dụ Vim đáp ứng với các đầu vào chính duy nhất mà không nhập được nhấn. Cách thực hiện việc này là đọc từng ký tự một lần từ thiết bị đầu cuối và sau đó cập nhật hoàn thành hoặc thực hiện một số thao tác, tùy thuộc vào việc phím được nhập hay có thể sử dụng một số loại thư viện để tạo giao diện người dùng dòng lệnh, như ncurses (được sử dụng cho nhiều chương trình dòng lệnh). – DarkOtter
@DarkOtter, đó là lý do tại sao tôi nói "thường". Tôi biết rằng nó có thể được thực hiện với các thư viện phụ thuộc nền tảng (và các trình bao bọc nền tảng chéo của chúng). Tôi không nghĩ rằng sử dụng của họ nên được khuyến khích mặc dù - nếu bạn muốn có một giao diện người dùng thích hợp, sử dụng một bộ công cụ giao diện người dùng thích hợp. Tôi lo sợ rằng người mới bắt đầu có thể có được ý tưởng rằng giao diện điều khiển giao diện người dùng dễ dàng hơn, trong khi, trên thực tế, nó thường là khó khăn hơn. –