Clojure - REPL

REPL (vòng lặp đọc-eval-in) là một công cụ để thử nghiệm với mã Clojure. Nó cho phép bạn tương tác với một chương trình đang chạy và nhanh chóng thử xem mọi thứ có diễn ra như bình thường không. Nó thực hiện điều này bằng cách hiển thị cho bạn lời nhắc để bạn có thể nhập mã. Sau đó, nó sẽ đọc đầu vào của bạn, đánh giá nó, in kết quả và lặp lại, hiển thị lại cho bạn lời nhắc.

Quá trình này cho phép một chu kỳ phản hồi nhanh chóng mà hầu hết các ngôn ngữ khác không thể thực hiện được.

Bắt đầu phiên REPL

Một phiên REPL có thể được bắt đầu trong Leiningen bằng cách gõ lệnh sau vào dòng lệnh.

lein repl

Điều này sẽ bắt đầu cửa sổ REPL sau.

Sau đó, bạn bắt đầu đánh giá các lệnh Clojure trong cửa sổ REPL theo yêu cầu.

Để bắt đầu phiên REPL trong Eclipse, hãy nhấp vào tùy chọn Menu, đi tới Run As → Clojure Application.

Thao tác này sẽ bắt đầu một phiên REPL mới trong một cửa sổ riêng cùng với đầu ra bảng điều khiển.

Về mặt khái niệm, REPL tương tự như Secure Shell (SSH). Giống như cách bạn có thể sử dụng SSH để tương tác với máy chủ từ xa, Clojure REPL cho phép bạn tương tác với một quy trình Clojure đang chạy. Tính năng này có thể rất mạnh mẽ vì bạn thậm chí có thể đính kèm REPL vào ứng dụng sản xuất trực tiếp và sửa đổi chương trình của bạn khi nó chạy.

Các biến đặc biệt trong REPL

REPL bao gồm một số biến hữu ích, biến được sử dụng rộng rãi là biến đặc biệt * 1, * 2 và * 3. Chúng được sử dụng để đánh giá kết quả của ba biểu thức gần đây nhất.

Ví dụ sau cho thấy cách sử dụng các biến này.

user => "Hello"
Hello
user => "World"
World
user => (str *2 *1)
HelloWorld

Trong ví dụ trên, hai chuỗi đầu tiên đang được gửi đến cửa sổ xuất REPL lần lượt là “Xin chào” và “Thế giới”. Sau đó, các biến * 2 và * 1 được sử dụng để gọi lại 2 biểu thức được đánh giá cuối cùng.