Il tipo Array
in Swift ha una funzione membro chiamata sort
, con la sua firma sort(isOrderedBefore: (T, T) -> Bool)
. Questa funzione è diversa dalla versione globale di sort
, che ha la firma sort(array: T[], pred: (T, T) -> Bool)
.Chiamata a una funzione globale che ha lo stesso nome di una funzione membro
Se si estende un Array
(vedi Why does the same method fail when inside an Array extension in Swift?), chiamando sort
dall'interno del campo di applicazione della estensione Array
risulta ovviamente nella versione locale in uso.
È possibile chiamare esplicitamente una funzione da un ambito esterno, o specificamente dall'ambito globale, anche se il suo nome coincide con quello di una funzione da un ambito interno?
Questo sarebbe simile al C++ operatore di risoluzione di scoping, ::
Ah, intendi come l'operatore globale di scope C++ '::'? Domanda interessante – Yawar
@Yawar, sì, esattamente. – Cezar