trait Validation {
def isValid(str: String): Boolean
}
class AlwaysValid extends Validation {
override def isValid(_: String) = true
}
mang
Bất cứ ý tưởng tại sao? Hay đó chỉ là điều mà các nhà thiết kế ngôn ngữ đã bỏ lỡ?
Có lẽ nó về tên luận qua nhưng điều này sẽ chỉ áp dụng cho phi ghi đè như ghi đè auto "kế thừa" những cái tên lập luận từ phương pháp ghi đè anyway, vì vậy đây không thể có thể là:
trait Foo {
def bar(arg0: String): String
}
class Baz extends Foo {
override def bar(blabla: String) = "hello"
}
new Baz().bar(arg0 = "world") // works, even though the arg name is blabla in Baz
Hơn nữa:_
được cho phép trong lambdas, thậm chí nhiều lần:
scala> val x: Int => Int = _ => 3
x: Int => Int = <function1>
scala> val x: (Int, Int) => Int = (_, _) => 3
x: (Int, Int) => Int = <function2>
Tại sao bạn muốn có đối số không bao giờ được sử dụng? – drexin
Điểm tốt, cảm ơn; Tôi cần phải có được cụ thể hơn; Tôi đã thu hẹp câu hỏi để ghi đè phương pháp. –
Tôi không thấy cách này thay đổi câu hỏi. Ghi đè vẫn phải có cùng chữ ký phương thức, vậy tại sao bạn nên được phép bỏ qua một tham số? –