Computer >> Máy Tính >  >> Lập trình >> Ruby

A REPL trong Ruby là gì? (IRB, Pry và hơn thế nữa)

REPL là viết tắt của Read-Eval-Print-Loop.

Đây là một chương trình cho phép bạn nhập mã Ruby và xem kết quả trực tiếp .

Một REPL phổ biến là irb .

Cái khác là pry .

Chúng hữu ích vì bạn có thể nhanh chóng kiểm tra cách hoạt động của một số mã Ruby.

Ví dụ :

Nếu bạn đang cố chuyển đổi một mảng chuỗi thành một mảng số nguyên.

Bạn có thể không nhớ chính xác cách thực hiện điều đó

Bạn tra cứu nó (hoàn toàn ổn!).

Và hãy thử nó trong REPL của bạn cho đến khi bạn làm cho nó hoạt động như bạn muốn. Sau đó, bạn có thể tích hợp mã này vào dự án của mình.

Lợi ích lớn?

Bạn có thể tự mình kiểm tra một chút mã, vì vậy nếu nó không hoạt động, bạn có ít bộ phận chuyển động hơn và bạn có thể dễ dàng tìm ra cách khắc phục nó.

Nó cho phép bạn tập trung vào một thứ!

Bây giờ :

Hãy xem xét một số REPL mà bạn có thể sử dụng với Ruby.

Tương tác Ruby Shell (IRB)

IRB là Ruby REPL được tích hợp sẵn mà mọi nhà phát triển Ruby đều quen thuộc.

Nó không có nhiều tính năng, nhưng nó làm được những gì nó phải làm.

Bạn nhập mã và bạn sẽ nhận được kết quả.

Bạn có thể sử dụng irb như thế nào?

Bạn có thể mở irb bằng cách gõ irb bên trong cửa sổ dòng lệnh.

Đây là những gì bạn sẽ thấy :

irb(main):001:0>

Sau đó, bạn có thể viết mã Ruby của mình và nhấn enter để chạy nó.

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 .irbrc tệp trong thư mục chính của bạn.

Với nội dung này :

IRB.conf[:SAVE_HISTORY] = 500

Thêm cái này nữa nếu bạn muốn bật thụt lề tự động:

IRB.conf[:AUTO_INDENT] = true

Hoặc tùy chỉnh lời nhắc của bạn 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 việc sử dụng viên ngọc quý

Pry là một REPL &một viên ngọc Ruby mà bạn có thể cài đặt bất cứ lúc nào bạn muốn.

Nó giống như irb nhưng nó có nhiều tính năng hơn.

Các tính năng như :

  • Đánh dấu cú pháp
  • Tự động hoàn thành (irb có một số, nhưng rất cơ bản)
  • Các lệnh nội quan (liệt kê các phương thức, biến, hằng số, v.v.)
  • Chỉnh sửa mã bạn đã nhập trước đó và chạy lại mã đó
  • Gỡ lỗi

Những tính năng này hầu hết đều khiến pry trở thành lựa chọn tốt hơn, vì vậy hãy thử nếu bạn chưa có.

Nếu đang sử dụng Rails, bạn có thể bật pry cho rails console bằng cách thêm pry-rails vào Gemfile của bạn.

Điều này cũng thêm show-models &show-routes lệnh.

Pry có nhiều tùy chọn cấu hình, bạn có thể đặt chúng trong .pryrc tệp trong thư mục chính của bạn cho cài đặt chung hoặc trên các thư mục dự án của bạn cho cài đặt cục bộ.

Ruby -e

Nếu bạn chỉ muốn chạy một dòng mã Ruby mà không khởi chạy REPL thì bạn có thể sử dụng Ruby’s -e cờ.

Đây là một ví dụ :

ruby -e "puts 123 * 2"

Điều này thật tuyệt vời để nhanh chóng kiểm tra thứ gì đó mà không cần phải mở IRB.

TRẢ LỜI Trực tuyến

Điều gì sẽ xảy ra nếu bạn không có quyền truy cập để cài đặt Ruby ngay bây giờ?

Hoặc có thể bạn muốn kiểm tra thứ gì đó trong một môi trường khác với máy tính cục bộ của bạn.

Hoặc chia sẻ mã cho mục đích trình diễn hoặc yêu cầu phản hồi.

Đó là những gì TRẢ LỜI trực tuyến rất tốt cho.

Một cái tôi thích là https://repl.it/languages/ruby.

Tóm tắt

Bạn đã học về REPL trong Ruby! REPL cho phép bạn nhanh chóng kiểm tra mã mà không cần phải ghi nó vào tệp.

Bây giờ là giờ luyện tập 🙂