Ruby:
Ghi vào lỗi chuẩn

Làm thế nào:

Trong Ruby, bạn có thể ghi vào lỗi chuẩn sử dụng $stderr.puts hoặc phiên bản viết tắt STDERR.puts. Dưới đây là một ví dụ nhanh:

puts "Điều này sẽ đến đầu ra chuẩn."
$stderr.puts "Điều này sẽ đến lỗi chuẩn."

# Phiên bản viết tắt:
STDERR.puts "Điều này cũng sẽ đến lỗi chuẩn."

Mở terminal của bạn, chạy script và chú ý cách mọi thứ vẫn xuất hiện cùng nhau theo mặc định. Cần phải chuyển hướng để tách các luồng. Dưới đây là cách bạn có thể làm điều đó:

ruby your_script.rb >output.txt 2>error.txt

Lệnh này chuyển hướng đầu ra chuẩn tới output.txt và lỗi chuẩn tới error.txt.

Đào sâu

Khái niệm stderr trở về những ngày đầu tiên của Unix. Nó được thiết kế cho thông báo lỗi, đảm bảo chúng hiện hữu ngay cả khi stdout được chuyển hướng. Mặc dù $stderr.putsSTDERR.puts là phổ biến trong Ruby, có những cách khác để viết vào stderr, như sử dụng warn để viết cảnh báo hoặc các API cấp thấp hơn như $stderr.write. Về mặt triển khai, stderr theo mặc định là không đệm, đảm bảo đầu ra ngay lập tức, trong khi stdout thường được đệm.

Xem thêm