Tôi đang cố gắng tìm hiểu Ruby thông qua Koans nhưng tôi bị mắc kẹt ở bước thứ 6.Trợ giúp với Ruby Koans # 6 - Ngoại lệ nào đã bị bắt?
Dưới đây là các mã:
def test_you_dont_get_null_pointer_errors_when_calling_methods_on_nil
# What happens when you call a method that doesn't exist.
# The following begin/rescue/end code block captures the exception and
# make some assertions about it.
begin
nil.some_method_nil_doesnt_know_about
rescue Exception => ex
# What exception has been caught?
assert_equal __, ex.class
# What message was attached to the exception?
# (HINT: replace __ with part of the error message.)
assert_match(/__/, ex.message)
end
end
tôi biết tôi phải thay thế __ với cái gì để làm với các thông báo lỗi "NoMethodError" nhưng tôi dường như không thể hình dung nó ra.
Đây là thông báo lỗi mà tôi nhận được khi tôi chạy "path_to_enlightenment.rb":
The answers you seek...
<"FILL ME IN"> expected but was <NoMethodError>.
tôi sẽ thực sự đánh giá cao một số hướng dẫn với điều này - nó làm tôi phát điên! Tôi rất muốn biết câu trả lời và một lời giải thích có thể. Cảm ơn bạn!
Cảm ơn bạn Elliot. – mmichael
Đó không phải là loại gian lận đó sao? Thực hiện một kiểm tra vượt qua bằng cách đơn giản làm 1 == 1 là không hợp lệ, tôi sẽ nghĩ. Tôi đang cố gắng trả lời câu hỏi này quá – BobC
Không, nó hỏi bạn bạn sẽ nhận được lỗi gì khi sử dụng phương thức mà đối tượng không biết. Và bởi vì khẳng định bằng nhau là tất cả về làm 1 == 1. NoMethodError phải bằng NoMethodError. – Elliot