Tôi có một lớp chữ thường chứa ba thông số được gắn. Tôi muốn xác định đối tượng đồng có thể xây dựng các lớp học từ bất kỳ hai tham số, cái gì đó trông giống như các mẫu dưới đây, mà rõ ràng là không đúng:xác định các đối số được đặt tên mặc định theo các đối số khác trong scala
def test(start : Float = end - duration, duration : Float = end - start, end : Float = start + duration) {
require(abs(start + duration - end) < epsilon)
...
}
val t1 = test(start = 0f, duration = 5f)
val t2 = test(end = 4f, duration = 3f)
val t3 = test(start = 3f, end = 5f)
gì thủ đoạn tôi có thể sử dụng để có được cú pháp sử dụng tương tự?
Lưu ý rằng thao tác này chỉ hoạt động nếu đối số của bạn có các loại khác nhau. Bạn không thể quá tải 'áp dụng' như thế này do khả năng tương thích với Java. (Trong Java, các tên đối số không phải là một phần của giao diện công cộng). – gzm0