REPL là viết tắt của Read-Eval-Print-Loop (Đọc-Đánh giá-In-Lặp).
Đó là chương trình cho phép bạn gõ code Ruby & thấy kết quả trực tiếp.
Một REPL phổ biến là irb.
Một cái khác là pry.
Chúng hữu ích vì bạn có thể nhanh chóng test cách một đoạn code Ruby hoạt động.
Ví dụ:
Nếu bạn đang cố chuyển mảng string thành mảng integer.
Bạn có thể không nhớ chính xác cách làm…
Bạn tra cứu (điều hoàn toàn bình thường!).
Và thử nó trong REPL cho đến khi nó hoạt động như bạn muốn. Sau đó bạn có thể tích hợp code này vào dự án.
Lợi ích lớn?
Bạn có thể test một chút code tự nó, nên nếu nó không hoạt động, bạn có ít bộ phận chuyển động hơn, và bạn dễ dàng hơn tìm ra cách sửa.
Nó cho phép bạn tập trung vào một điều!
Bây giờ:
Hãy xem lại một số REPL bạn có thể dùng với Ruby.
Interactive Ruby Shell (IRB)
IRB là REPL Ruby built-in mà mọi developer Ruby đều quen thuộc.
Nó không có nhiều tính năng, nhưng nó làm đúng nhiệm vụ của nó.
Bạn gõ code & nhận kết quả trả về.
Làm thế nào để dùng irb?
Bạn có thể mở irb bằng cách gõ irb trong cửa sổ terminal.
Điều bạn nên thấy:
irb(main):001:0>
Sau đó bạn có thể viết code Ruby & nhấn enter để chạy.
Nếu bạn muốn đóng irb, bạn có thể gõ exit.
Bạn có thể bật lịch sử lệnh bằng cách tạo file .irbrc trong thư mục home.
Với nội dung:
IRB.conf[:SAVE_HISTORY] = 500
Thêm này nữa nếu bạn muốn bật auto indent:
IRB.conf[:AUTO_INDENT] = true
Hoặc tùy chỉnh prompt như sau:
IRB.conf[:PROMPT][:CUSTOM] = {
PROMPT_I: "irb(#{Dir.pwd}) ",
PROMPT_S: "irb(#{Dir.pwd})* ",
PROMPT_C: "irb(#{Dir.pwd})? ",
PROMPT_N: "irb(#{Dir.pwd})* ",
RETURN: "%s\n"
}
IRB.conf[:PROMPT_MODE] = :CUSTOM
Lợi ích của Gem Pry
Pry là REPL & Ruby gem bạn có thể cài bất cứ khi nào.
Nó giống irb nhưng có nhiều tính năng hơn.
Tính năng như:
- Syntax highlighting (tô màu cú pháp)
- Autocompletion (tự động hoàn thành) (irb có một chút, nhưng rất cơ bản)
- Introspection commands (liệt kê methods, variables, constants, v.v.)
- Chỉnh sửa code bạn gõ trước & chạy lại
- Debugging
Những tính năng này làm cho pry trở thành lựa chọn tốt hơn hầu hết thời gian, vì vậy hãy thử nó nếu bạn chưa.
Nếu bạn dùng Rails, bạn có thể bật pry cho rails console bằng cách thêm pry-rails vào Gemfile.
Điều này cũng thêm lệnh show-models & show-routes.
Pry có nhiều tùy chọn cấu hình, bạn có thể đặt chúng trong file .pryrc trong thư mục home cho cài đặt toàn cục, hoặc trong thư mục dự án cho cài đặt cục bộ.
Ruby -e
Nếu bạn chỉ muốn chạy một dòng Ruby code mà không cần khởi chạy REPL, bạn có thể dùng cờ -e của Ruby.
Ví dụ:
ruby -e "puts 123 * 2"
Điều này tuyệt vời để nhanh chóng test thứ gì đó mà không phải mở IRB.
Online REPLs
Điều gì nếu bạn không có quyền cài Ruby lúc này?
Hoặc có thể bạn muốn test thứ gì đó trong môi trường khác máy tính cục bộ.
Hoặc chia sẻ code cho mục đích demo hoặc xin feedback.
Đó là thứ online REPLs làm tốt.
Một cái tôi thích là https://repl.it/languages/ruby.
Tóm tắt
Bạn đã học về REPLs trong Ruby! REPL cho phép bạn nhanh chóng test code mà không phải viết ra file.
Bây giờ là giờ thực hành 🙂