Pochodzę z C++, próbuję wykonać pewne metaprogramowanie w Swift. Na przykład chciałbym zaimplementować metafunkcję, która dodaje dwie liczby. Próbowałem coś takiego:Metaprogramming in Swift
protocol IntWrapper {
class var value: Int { get }
}
struct A: IntWrapper {
static let value = 5
}
struct B: IntWrapper {
static let value = 7
}
struct Sum<T: IntWrapper, U: IntWrapper>: IntWrapper {
static let value = T.value + U.value
}
To jednak nie działa: (. Lub po prostu zawiesza się, czasami) Xcode narzeka, że T.Type
nie posiada człon value
Jak można zaimplementować taka funkcjonalność?
Hej sir ... Prawie rok później ... Czy mamy jakieś wieści o Swift i metaprogramowaniu? –