2011-09-26 29 views

Respuesta

10

Tenga en cuenta que se puede lograr el mismo resultado mediante la creación de un objeto:

def something() { 
    object A { 
    def a(s:String) {} 
    def a(i: Int) {} 
    } 
    import A._ 
    a("asd") 
    a(2) 
} 

En el ejemplo definirá funciones locales. En mi ejemplo, estoy declarando métodos. La sobrecarga estática está permitida para objetos, clases y rasgos. No sé por qué no está permitido para funciones locales, pero mi suposición es que la sobrecarga es una posible fuente de error y probablemente no sea muy útil dentro de un bloque de código (donde presumiblemente puede usar nombres diferentes para ese bloque). alcance). Supongo que está permitido en las clases porque está permitido en Java.

Cuestiones relacionadas