Вопросы по теме 'associated-types'

Проблемы с выводом типа GHC
Вопрос . Есть ли способ заставить этот код работать без явной подписи типа? Код . Во-первых, у меня есть гораздо более приятный на практике альтернативный класс MonadTrans , вдохновленный Data.Newtype . Это выглядит так, {-# LANGUAGE...
202 просмотров

Невозможно создать массив типов, соответствующих протоколу в Swift
У меня есть следующий протокол и соответствующий ему класс: protocol Foo{ typealias BazType func bar(x:BazType) ->BazType } class Thing: Foo { func bar(x: Int) -> Int { return x.successor() } } Когда я пытаюсь...
6106 просмотров
schedule 02.06.2022

Swift — связанное значение или расширение для Enum
Общий вопрос о быстром перечислении. Я хочу создать перечисление «значок» и «связать» значение с регистром перечисления enum Icon { case plane case arrow case logo case flag } Я хочу создать связанное изображение со значением...
7960 просмотров

Как устранить неоднозначность связанных типов?
Мой текущий код выглядит так: pub trait A {} pub trait HasA { type A: A; fn gimme_a() -> Self::A; } pub trait RichA: A {} pub trait RichHasA: HasA { type A: RichA; fn gimme_a() -> Self::A; // ... more things go here ......
3902 просмотров
schedule 19.11.2022

Можно ли объявить связанный тип, который будет представлять признак?
Можно ли объявить связанный тип, который будет представлять признак? Если нет, что я могу сделать вместо этого? Пытаюсь сделать: trait Foo { /// A trait representing all types that can be returned from baz() type ReturnType; fn...
654 просмотров
schedule 27.07.2022

Ограничить связанный тип
Упрощенная версия моего кода, которая показывает проблему: protocol Transformer { typealias Input typealias Output func transform(s: Input) -> Output } protocol InputType {} protocol OutputType {} extension Int: OutputType {}...
95 просмотров
schedule 23.09.2023

Как сделать расширение протокола, используя ассоциированный тип и массив
Скажем, у меня есть эти протоколы protocol Actionable { } protocol M: class { associatedtype Action: Actionable var views: [Action] { get set } } и две функции func f(view: Actionable) { } func g(views: [Actionable]) { }...
165 просмотров

Протокол, имеющий общую функцию и связанный тип
У меня такой код: protocol NextType { associatedtype Value associatedtype NextResult var value: Value? { get } func next<U>(param: U) -> NextResult } struct Something<Value>: NextType { var value: Value?...
456 просмотров

Вызов реализации протокола по умолчанию из обычного метода, когда протокол имеет связанный тип
У меня есть протокол со статическим методом с параметром по умолчанию. Я хочу изменить значение по умолчанию в классе, реализующем протокол. По сути дела, то, что легко сделать с классами и super. У меня есть решение только тогда, когда протокол не...
864 просмотров

Использование ассоциированного типа в протоколе делегата для универсального типа
У меня есть Game класс. Я сделал его универсальным, потому что мне нужно было поддерживать различные типы плат. Теперь я просто хочу добавить классический делегат в стиле iOS с методом, который будет принимать игру и новое значение очков в...
964 просмотров

Как создать классы, соответствующие протоколам с вложенными PAT?
Я пытаюсь использовать стирание типов для создания протокола Repository , которому можно соответствовать (аналогично AnyCollection Swift). Этот протокол необходимо обернуть в класс со стертым типом, поскольку он содержит PAT. Однако, поскольку...
83 просмотров

ассоциированный тип с ячейкой tableview
У меня есть ячейка tableview ( OrderMasterCell ) внутри ячейки tableview (NESTED TABLEVIEW) OrderMasterCell повторно используется в контроллере с несколькими представлениями. Допустим, ViewController1 имеет табличное представление, а в ячейке...
173 просмотров
schedule 28.05.2022

Как ввести протокол со связанными типами?
Я создал протокол как protocol DataBaseManager{ associatedtype type init() func insert(object obj: [type]) func getObject(ofType type: type.Type)-> Array<type> //... } Теперь я определил RealmManager как...
396 просмотров

Расширение протокола, в котором ассоциированный тип является классом?
Я пробовал что-то вроде этого: protocol MyModelProtocol { var name: String { get set } } protocol MyProtocol { associatedtype Model: MyModelProtocol func changeModel(_ model: Model) } extension MyProtocol where Model: AnyObject { }...
198 просмотров

Быстрое перечисление + связанное значение + встроенная проверка регистра
У меня есть следующее быстрое перечисление для возврата асинхронного API-ответа: enum Result<U: Equatable> { case success(output: U) case failure(error: Error) } Для упрощения реализации моего модульного теста я хотел бы проверить,...
973 просмотров

Быстрый. Внутренний тип в публичном протоколе
Я пытаюсь работать с быстрыми дженериками, но я застрял... Возможно, это невозможно сделать таким образом, но я надеялся, что у кого-нибудь будет хорошее предложение. Итак, у меня есть этот протокол и тип, который я хочу иметь внутренним:...
595 просмотров

Как использовать нестатические типажные объекты со связанными типами?
У меня такой тип: struct Wrap<T>(Vec<T>); Я хочу реализовать std::ops::Index и возвращать ссылки на объекты признаков. Это была моя первая попытка ( площадка ): use std::ops::Index; use std::fmt::Display; impl<T>...
543 просмотров

Swift - протокол может использоваться только как общее ограничение, потому что он имеет требования к типу Self или связанному типу.
Я работаю над приложением, которому необходимо запрашивать несколько API. Я придумал классы для каждого поставщика API (и, в более крайних случаях, класс для каждой конкретной конечной точки API). Это связано с тем, что каждый запрос API должен...
814 просмотров
schedule 29.06.2023

iOS RXSwift, как получить значение из результата .success?
Каков правильный синтаксис для получения значения, связанного с результатом .success в RXSwift? .map{ (result : Result<Double>) -> Double in //how to get duration from result? this does not work let duration : Double =...
340 просмотров
schedule 18.09.2022

Протокол Swift со связанным типом: как использовать в абстрактном методе?
У меня есть два протокола: один для ViewModel и один для ConfigurableView, который принимает тип ViewModel в качестве связанного типа.: public protocol ViewModel {} public protocol ConfigurableView { associatedtype ViewModelType: ViewModel...
693 просмотров
schedule 10.06.2022