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

Cách thông báo chương trình Ruby của bạn ngừng chạy sớm

Làm cách nào để bạn dừng chương trình Ruby sớm?

Thông thường, một chương trình sẽ chạy cho đến khi hoàn tất xử lý tất cả các hướng dẫn.

Hoặc cho đến khi nó phát sinh một ngoại lệ không được xử lý.

Nhưng nếu bạn đang viết một chương trình Ruby không cần phải chạy mọi lúc , bạn có thể muốn dừng chương trình của mình sớm vì lý do này hay lý do khác.

Bạn có thể thực hiện việc này với exit phương pháp.

Phương thức thoát này hoạt động như thế nào?

Hãy nói về điều đó!

Các cách khác nhau để dừng một chương trình

Khi bạn gọi exit chương trình của bạn sẽ không dừng ngay lập tức.

Đây là những gì sẽ xảy ra :

Ruby tạo ra một SystemExit ngoại lệ cho phép các phần khác trong chương trình của bạn có cơ hội được dọn dẹp.

Bạn có thể chạy mã này để xem trình diễn :

begin
  exit
rescue SystemExit
  p 123
end

Bản in này 123 trước khi thoát.

Nếu bạn muốn chương trình của mình bỏ qua quá trình dọn dẹp này, bạn có thể sử dụng exit! .

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

begin
  exit!
rescue SystemExit
  p 123
end

Lưu ý rằng điều này sẽ không in 123 trước khi chương trình kết thúc.

Bạn cũng có thể sử dụng một phương pháp khác.

Nó được gọi là abort .

Với phương pháp này, bạn có thể cung cấp thông báo lỗi.

Như thế này :

abort "No Bacon Left"

Cái nào giống với :

warn "No Bacon Left!"
exit 1

warn phương thức in thông báo lỗi thành lỗi chuẩn.

Nhưng đây là gì 1 đối số cho exit ?

Đó là chủ đề thảo luận tiếp theo!

Hiểu mã trạng thái

Khi một chương trình kết thúc, không chỉ là một chương trình Ruby mà còn BẤT KỲ chương trình nào, nó sẽ để lại một mã trạng thái.

Đây là những điều bạn cần biết :

  • Mã trạng thái của 0 nghĩa là chương trình đã kết thúc bình thường
  • Các mã trạng thái khác (không phải 0 ) được sử dụng để báo hiệu một tình trạng lỗi
  • Hiệu quả của việc trả về mã trạng thái khác 0 tùy thuộc vào môi trường hiện tại của bạn

Điều này hữu ích bởi vì hệ điều hành hoặc các chương trình thông thường, có thể sử dụng mã trạng thái này để theo dõi, ghi nhật ký và thậm chí tự động khởi động lại chương trình bị lỗi.

Trong Linux, bạn có thể sử dụng echo $? để tìm mã trạng thái thoát của chương trình cuối cùng.

Hãy quay lại Ruby :

Khi bạn gọi exit mã trạng thái là 0 theo mặc định.

Bạn có thể chuyển một mã trạng thái khác làm đối số.

Đó là lý do tại sao khi bạn gọi abort mã trạng thái được đặt thành 1 , abort được sử dụng để báo hiệu lỗi.

Dừng vòng lặp

Nếu bạn không muốn dừng toàn bộ chương trình mà chỉ dừng một vòng lặp, thì bạn phải sử dụng thứ gì đó khác.

Bạn có thể sử dụng break từ khóa:

while 1 == 1
  break
end

Điều này cũng hoạt động bên trong các khối, không chỉ vòng lặp while.

Thoát khỏi một phương pháp

Các phương thức Ruby kết thúc tự nhiên trên dòng mã cuối cùng của chúng.

Nếu bạn muốn thoát sớm hơn…

Sử dụng return từ khóa.

Ví dụ :

def apples
  return "I had my two apples today"

  "bacon"
end

Mã này không bao giờ đến được "bacon"return sớm .

Phần thưởng:Dừng một vòng lặp vô hạn

Nó xảy ra.

Đôi khi bạn quên tăng bộ đếm và tạo ra vòng lặp vô hạn .

Để dừng chương trình, bạn có thể nhấn tổ hợp phím:

CTRL+C

Tóm tắt

Bạn đã học về exit trong Ruby, abort phương pháp, mã trạng thái thoát và cách thoát ra khỏi vòng lặp.

Đừng quên chia sẻ bài viết này để nhiều người cùng thưởng thức.

Cảm ơn vì đã đọc! 🙂