2017-01-15 14 views
5

Vì Ruby 2.4.0, đã có cảnh báo không dùng nữa khi sử dụng các tính năng nhất định đã không được chấp nhận. Ví dụ: Bignum, Fixnum, TRUEFALSE tất cả sẽ kích hoạt cảnh báo không dùng nữa. Trong khi tôi đang sửa mã của mình, có một số lượng mã hợp lý mà tôi muốn nó bị tắt tiếng, đặc biệt là trong Rails. Tôi có thể làm cái này như thế nào?Có cách nào để làm im lặng cảnh báo phản đối của Ruby trong phiên bản 2.4.0 không?

+0

có thể trùng lặp của [im lặng Deprecation cảnh báo trong Rails 3] (http://stackoverflow.com/questions/2689377/silencing-deprecation-warnings-in-rails-3) – Anthony

+2

@Anthony này là khác nhau. Cảnh báo ngừng sử dụng hiện có trong Ruby 2.4.0, không chỉ là Rails. –

+1

Có chạy mã của bạn bằng tùy chọn '-W0' ở đây không? –

Trả lời

3
module Kernel 
    def suppress_warnings 
    original_verbosity = $VERBOSE 
    $VERBOSE = nil 
    result = yield 
    $VERBOSE = original_verbosity 
    return result 
    end 
end 


>> X = :foo 
=> :foo 
>> X = :bar 
(irb):11: warning: already initialized constant X 
=> :bar 
>> suppress_warnings { X = :baz } 
=> :baz 
+2

Điều này là tốt cho mã mà tôi đã viết, nhưng có một cách để có được Ruby để chạy tất cả các mã như thế này trên toàn bộ? –

Các vấn đề liên quan