in Haskell si può fare questo:typealias generici a Swift
type Parser a = String -> [(a, String)]
Ho provato a fare qualcosa di simile a Swift. Finora ho scritto questi codici senza fortuna.
typealias Parser<A> = String -> [(A, String)]
typealias Parser a = String -> [(a, String)]
typealias Parser = String -> [(A, String)]
Quindi è semplicemente impossibile in rapido? E se è ci sono altri modi per implementare questo comportamento?
UPDATE: Sembra typealiases generici sono ora supportate in rapida 3 https://github.com/apple/swift/blob/master/CHANGELOG.md
Oh. Boxe. Funziona sempre. Grazie. – mustafa
@mustafa Ciao, potresti dirmi quale parte di esso denota la boxe? Non intendevi la boxe in senso Java, vero? Inoltre, ho un problema che mi avvolge in testa '[testa (stringa) ...' e 'coda (stringa)]'. Grazie. – Unheilig
@Unheilig La boxe si riferisce al wrapping di un tipo attorno ad un altro al fine di sfruttare le funzionalità disponibili solo nel tipo esterno. Si può avere familiarità con il concetto di Objective-C, dove primitive come gli interi non possono essere passate in un NSArray senza essere "inscatolate" in un NSNumber, ad esempio, '@ (1234)'. La cosa testa/coda non è specifica, ma piuttosto un modello comune per dividere un array nel primo oggetto (la testa) e gli elementi rimanenti (la coda). Vedi http://chris.eidhof.nl/posts/swift-tricks.html – clozach