một tuyên bố rằng sẽ kiểm tra nếu có điều gì là đúng và nếu không in một thông báo lỗi nhất định và thoátR có câu lệnh khẳng định như trong python không?
79
A
Trả lời
99
11
@Nick:
Bạn có thể kiểm soát thông báo lỗi của bạn nếu bạn viết một hàm với tên mô tả để kiểm tra điều kiện là sẽ ném ra một lỗi trong chương trình của bạn. Dưới đây là một ví dụ:
Less_Than_8 = function(x) return(x < 8)
for (i in 1:10)
{
print(i)
stopifnot(Less_Than_8(i))
}
này sẽ in những con số từ 1 đến 8, sau đó in một thông báo nói rằng
Error: Less_Than_8(i) is not TRUE
Nó sẽ được tốt đẹp nếu "i" trong ngoặc đơn được thay thế bằng giá trị mà thất bại trong thử nghiệm, nhưng bạn có được những gì bạn phải trả.
Nếu bạn cần bất kỳ điều gì huyền ảo hơn thế, hãy xem xét Runit và testthat như Harlan đã đề xuất.
Các vấn đề liên quan
- 1. Câu lệnh khẳng định của java có thể cho phép bạn chỉ định một tin nhắn không?
- 2. Có thể "khẳng định" trong Puppet không?
- 3. Bạn có sử dụng câu lệnh "chung" trong Python không?
- 4. pytest: khẳng định gần như bằng
- 5. khẳng định kiểm tra trong một lambda trong python
- 6. Java Câu hỏi: Có thể có câu lệnh chuyển đổi trong một câu lệnh khác không?
- 7. Hiệu ứng nào có một câu lệnh như 'var và do_something_with (var)' trong Python?
- 8. Câu lệnh có thể có cả = và == như thế nào?
- 9. khẳng định không chứa mục
- 10. cách thoát khỏi tập lệnh python trong câu lệnh if
- 11. Mở rộng lớp với mới XUnit Khẳng định khẳng định
- 12. Làm thế nào để định dạng một câu lệnh xác nhận python phù hợp với PEP8?
- 13. Khẳng định IEnumerables
- 14. Python unittest - khẳng định từ điển với danh sách
- 15. Có câu lệnh goto nào trong Ruby không?
- 16. Sử dụng câu lệnh "có" cho tệp CSV bằng Python
- 17. Junit không tạo báo cáo nếu có lỗi khẳng định
- 18. C++: So sánh logic như câu lệnh có điều kiện?
- 19. Có thể phân chia và gán một chuỗi trong một câu lệnh trong Python không?
- 20. Tại sao không có câu lệnh điều khiển luồng trong khi trong python?
- 21. Máy phát điện trong câu lệnh if trong python
- 22. Có phải là câu hỏi đơn nếu câu lệnh hoặc câu lệnh không có dấu ngoặc kép không?
- 23. Có phải là một dòng trong một chương trình Java giống như một câu lệnh không?
- 24. Có cách nào tốt hơn để viết các câu lệnh "hoặc" liên tiếp trong Python không?
- 25. ngữ nghĩa câu lệnh nhập khẩu python
- 26. Là một ngôn ngữ, Python có bị giới hạn do không có câu lệnh kết thúc?
- 27. Python câu lệnh if: False vs 0.0
- 28. Có thể sử dụng câu lệnh if trong #define không?
- 29. Câu lệnh kiểu có phạm vi có thể không?
- 30. Từ khóa khẳng định trong java
Có cách nào để kiểm soát thông báo lỗi được báo cáo nếu stopifnot() dừng không? – Nick
@Nick, không. Sử dụng 'stopifnot()' để kiểm tra tính hợp lệ, để kiểm tra mã đó đang làm những gì nó phải làm, nhưng 'if (blahdiblah) stop (" thông báo lỗi ")' để kiểm tra đầu vào, để kiểm tra đầu vào cho chương trình là có hiệu lực. Chỉ sau này sẽ xảy ra trong quá trình sử dụng bình thường. – Harlan
Xem thêm gói 'assertthat' mới của Hadley, cung cấp câu trả lời tốt hơn so với 'stopifnot': https://github.com/hadley/assertthat – Harlan