Tôi chỉ học Ruby và tôi không hoàn toàn hiểu sự khác biệt giữa một số phương thức Ruby có và không có '!' cuối cùng. Có gì khác biệt? Tại sao tôi lại sử dụng cái kia?Sự khác biệt Giữa chữ thường và chữ hoa! trong Ruby
Trả lời
Phương pháp có dấu chấm than ở cuối thường được gọi là phương pháp bang. Một phương pháp bang không nhất thiết phải sửa đổi người nhận của nó cũng như không có đảm bảo rằng các phương pháp mà không có dấu chấm than thì không.
Tất cả đều được giải thích rất rõ trong this blog post. Để báo giá bài đăng:
! trong các tên phương thức kết thúc bằng! có nghĩa là, "Phương pháp này nguy hiểm" —hoặc, chính xác hơn, phương pháp này là phiên bản "nguy hiểm" của phương pháp tương đương tương tự, có cùng tên trừ đi! “Nguy hiểm” là tương đối; số ! không có ý nghĩa gì trừ khi có tên là tên phương thức tương ứng với tên phương thức tương tự nhưng không có chữ cái.
và
Các! không có nghĩa là “Phương pháp này thay đổi bộ thu của nó.” Rất nhiều phương thức “nguy hiểm” thay đổi số của họ. Nhưng một số thì không. Tôi lặp lại: ! không có nghĩa là phương pháp thay đổi bộ thu của nó.
Phương thức downcase() không đơn giản trả về một đối tượng mới đại diện cho bạn chuỗi bị downcased.
Phiên bản bang sửa đổi chuỗi của bạn.
my_text = "MY TEXT"
my_new_text = my_text.downcase
puts my_new_text # will print out "my text"
puts my_text # will print out "MY TEXT" - the non-bang method doesn't touch it
my_text.downcase!
puts my_text # will print out "my text". The bang version has modified the object you're calling the method on
- 1. OData và phân biệt chữ hoa chữ thường
- 2. Chọn chuỗi và phân biệt chữ hoa chữ thường
- 3. Đối sánh phân biệt chữ hoa chữ thường trong Marpa
- 4. không phân biệt chữ hoa chữ thường trong NSArray chứaObject:
- 5. khớp với phân biệt chữ hoa chữ thường trong xpath?
- 6. Tìm kiếm phân biệt chữ hoa chữ thường với $ trong
- 7. Cột chuỗi phân biệt chữ hoa chữ thường trong SQLAlchemy?
- 8. Tìm kiếm phân biệt chữ hoa chữ thường trong grails
- 9. Mảng phân biệt chữ hoa chữ thường trong Lua
- 10. Sự trùng hợp không phân biệt chữ hoa và chữ thường trong Oracle với LIKE
- 11. GSON deserialize theo cách phân biệt chữ hoa chữ thường
- 12. XML có phân biệt chữ hoa chữ thường không?
- 13. Khác biệt về phân biệt chữ hoa chữ thường trong Mercurial
- 14. DISTINCT MySQL phân biệt chữ hoa chữ thường
- 15. URL không phân biệt chữ hoa chữ thường với mod_rewrite
- 16. Tên tệp không phân biệt chữ hoa chữ thường?
- 17. Tìm kiếm không phân biệt chữ hoa chữ thường SOLR
- 18. GetElementsByTagName không phân biệt chữ hoa chữ thường?
- 19. Hàm in_array không phân biệt chữ hoa chữ thường
- 20. AngularJs, bộ lọc phân biệt chữ hoa chữ thường
- 21. Trường hợp Rspec không phân biệt chữ hoa chữ thường
- 22. Tìm kiếm danh sách phân biệt chữ hoa chữ thường
- 23. JavaScript: tìm kiếm phân biệt chữ hoa chữ thường
- 24. Không phân biệt chữ hoa chữ thường không hoạt động
- 25. Loại.Không phân biệt chữ hoa chữ thường - WinRT
- 26. Kết hợp mẫu Lua phân biệt chữ hoa chữ thường
- 27. Không phân biệt chữ hoa chữ thường với Dynamic Linq
- 28. Tên bảng có phân biệt chữ hoa chữ thường không?
- 29. Java có phân biệt chữ hoa chữ thường không?
- 30. GetMethod không phân biệt chữ hoa chữ thường?