Articles of generici

Vincoli di tipo membro statico F #

Sto cercando di definire una funzione, fattorizzazione, che utilizza i vincoli di tipo strutturale (richiede membri statici Zero, Uno, + e /) simile a Seq.sum in modo che possa essere utilizzato con int, long, bigint, ecc. I non riesco a trovare la syntax giusta, e non riesco a trovare molte risorse sull’argomento. Questo è quello […]

Restituzione del tipo di raccolta originale nel metodo generico

Diciamo che vogliamo creare una funzione come minBy che restituisca tutti gli elementi di un minimalismo uguale in una raccolta: def multiMinBy[A, B: Ordering](xs: Traversable[A])(f: A => B) = { val minVal = f(xs minBy f) xs filter (f(_) == minVal) } scala> multiMinBy(List(“zza”,”zzza”,”zzb”,”zzzb”))(_.last) res33: Traversable[java.lang.String] = List(zza, zzza) Fin qui, tutto bene, tranne che […]

I membri statici di una class generica sono legati all’istanza specifica?

Questa è più una documentazione che una vera domanda. Questo non sembra essere stato affrontato su SO ancora (a meno che non mi sia mancato), quindi ecco qui: Immagina una class generica che contiene un membro statico: class Foo { public static int member; } Esiste una nuova istanza del membro per ogni class specifica […]

Mockito: verifica con parametri generici

Con Mockito posso fare quanto segue: verify(someService).process(any(Person.class)); Ma come scrivo questo se il process richiede invece una Collection ? Non riesco a capire come scriverlo correttamente. Ottenere solo errori di syntax …

Come posso scrivere una class contenitore generica che implementa una determinata interfaccia in C #?

Contesto: .NET 3.5, VS2008. Non sono sicuro del titolo di questa domanda, quindi sentiti libero di commentare anche il titolo 🙂 Ecco lo scenario: ho diverse classi, dico Foo e Bar, tutte implementano la seguente interfaccia: public interface IStartable { void Start(); void Stop(); } E ora mi piacerebbe avere una class contenitore, che ottiene […]

Generici di Java: Collections.max () firma e comparatore

Capisco il principio get e put per le collezioni: se un metodo accetta una collezione in cui scriverà un tipo T, il parametro deve essere Collection Collection , mentre se leggerà un tipo T da, il parametro deve essere Collection Collection . Ma qualcuno potrebbe spiegare la firma Collections.max() : public static T max(Collection coll, […]

Estensione del tipo generico costruito in Swift

È ansible estendere una class generica per un tipo generico specializzato / costruito? Vorrei estendere Int Arrays con un metodo per calcolare la sum dei suoi elementi. per esempio extension Array { func sum() -> Int { return reduce(0) { $0 + $1 } } }

Risoluzione dei problemi “Il parametro tipo T nasconde l’avviso di tipo T”

Ricevo un avviso in eclipse (la versione più recente) per il codice seguente. public interface A extends B { public T getObject(); } L’avviso appare su “T” in “A” e recita: “Il parametro tipo T nasconde il tipo T”. La parte strana è che il codice seguente non genera errori o avvisi. public interface A […]

SortedList , SortedDictionary e Dictionary

Trovo che SortedList SortedDictionary e Dictionary implementano le stesse interfacce. Quando dovremmo optare per SortedList e SortedDictionary sul Dictionary ? Qual è la differenza tra SortedList e SortedDictionary in termini di applicazione?

Come funziona il Manifesto di Scala (2.8)?

Ho un codice Scala che fa un uso abbastanza pesante di generici, e ho scoperto dai documenti che l’utilizzo di un manifest nei vincoli di parametrizzazione può aiutarmi a risolvere i problemi di cancellazione del tipo (es. Voglio istanziare un nuovo object del tipo generico ). Solo, mi piacerebbe capire di più su come funziona. […]