Tôi học Scala một thời gian và không thể hiểu rõ cách sử dụng Tùy chọn. Nó giúp tôi tránh kiểm tra null khi tôi chuỗi chức năng (theo docs). Điều đó rõ ràng đối với tôi :)Khi nào sử dụng Option
Tiếp theo tôi thấy rằng Tùy chọn có thể là loại chỉ báo cho nhà phát triển mà giá trị null có thể ở đây và nó phải được xử lý. Có đúng không? Nếu có, tôi có nên sử dụng Tùy chọn nếu có thể không? Ví dụ:
class Racer {
val car = new Car()
}
Tôi có lớp đua và tôi chắc chắn trường ô tô không thể rỗng (vì nó không đổi và nhận giá trị khi tạo cá thể Racer). Không cần lựa chọn ở đây.
class Racer {
var car = new Car()
}
Ở đây tôi làm cho nó để chiếc xe có thể thay đổi. Và nó có thể cho ai đó gán null vào ô tô. Tôi có nên sử dụng Tùy chọn tại đây không? Nếu có, tôi nhận thấy rằng tất cả các lĩnh vực lớp học của tôi là ứng cử viên cho Tùy chọn. Và mã của tôi trông giống như thế này
class Racer {
var car: Option[Car] = None
var currentRace: Option[Race] = None
var team: Option[Team] = None
...
}
Trông nó có đẹp không? Đối với tôi, có vẻ như loại Tùy chọn đang lạm dụng.
def foo(): Result = {
if(something)
new Result()
else
null
}
Tôi có phương thức có thể trả về giá trị rỗng. Tôi có nên trả lại tùy chọn thay thế không? Tôi có nên luôn làm điều đó nếu có thể cho phương thức trả về null không?
Bất kỳ suy nghĩ nào về nó cũng sẽ hữu ích. Cảm ơn trước!
Câu hỏi của tôi tương tự như Why option nhưng tôi nghĩ nó không giống nhau. Đó là khoảng khi nào, không phải là lý do. :)
ngoài các câu trả lời khác, hãy thử đọc http://simply.liftweb.net/index-7.2.html –
Cảm ơn bạn. Tôi sẽ xem qua một chút. – Soteric