Вопросы по теме 'type-constraints'
Попытка понять Haskell =› против определения типов
Зачем в Haskell определять функцию с ограничением типа:
ghci> :t (==)
(==) :: (Eq a) => a -> a -> Bool
Вместо того, чтобы определять его, чтобы его тип был:
ghci> :t (==)
(==) :: Eq -> Eq -> Bool
250 просмотров
schedule
18.03.2023
Как работает List.max‹'T›?
Из документов MSDN подпись List.max :
List.max : 'T list -> 'T (requires comparison)
Мои вопросы:
Как компилятор статически проверяет, что 'T поддерживает операцию сравнения?
Является ли requires ключевым словом для указания...
301 просмотров
schedule
14.12.2023
Разница между интерфейсом как ограничением типа и интерфейсом как параметром?
Если бы я хотел создать метод, который принимает экземпляр IList в качестве параметра (или любой другой интерфейс, но давайте использовать IList в качестве примера), я мог бы создать универсальный метод с ограничением типа, например:
public...
773 просмотров
schedule
02.02.2024
Реализация блокировки на C++
Извините, что вопрос этой проблемы может быть немного расплывчатым. Я пытаюсь перенести этот код ObjectPool с С# на С++, но, похоже, есть некоторые части, в которых я не знаю, как мне действовать. Коды следующие:
using System;
namespace...
645 просмотров
schedule
30.05.2023
почему отсутствующий необязательный параметр вызывает ошибку несовместимых типов
Может кто-нибудь объяснить, почему я получаю сообщение об ошибке «Несовместимый тип» (Delphi XE3) в следующей программе (подробности см. в комментариях внизу кода), когда я опускаю необязательный параметр для конструктора?
program Test;
{$APPTYPE...
555 просмотров
schedule
05.09.2022
Частичное применение дженериков для ограничений типа
В настоящее время я пытаюсь создать общий интерфейс, в котором каждый (общий) класс, производный от него, будет иметь метод, принимающий делегата, который принимает параметр типа и возвращает другой класс того же типа, только с другим параметром типа....
106 просмотров
schedule
30.12.2023
Фильтровать по ограничению
Хорошо, я понимаю, что это может быть странный вопрос. Но мне все равно нужно спросить. Это происходит следующим образом:
Предположим, у меня есть что-то вроде следующего:
type Foo() =
member this.MyFooFun i = 2*i
type Bar() =...
102 просмотров
schedule
25.11.2022
Отсутствует ограничение типа в F#
В следующем коде обратите внимание на ограничение типа для get_Zero:
type Wrapper<'t> = { Data : 't[] }
let compute<'t
when 't : (static member get_Zero : unit -> 't)
and 't : (static member (~-) : 't -> 't)
and 't :...
340 просмотров
schedule
28.10.2022
Symfony2 ограничивает проверку сущности yml
У меня отношение многие ко многим (пользователь и учетная запись). В пользовательском объекте у меня есть частные группы свойств (коллекция массивов).
Когда я пытаюсь проверить это свойство (группы) с помощью простого «NotBlank», это не работает....
654 просмотров
schedule
07.10.2022
Как переопределить этот метод, используя «где T: объект»
Я пытаюсь переопределить этот метод, но не понимаю, как
public virtual TUserData GetCurrentUser<TUserData>() where TUserData : UserData
{
LoadTokenCookie(String.Empty);
if (!IsCurrentUserAuthorized())...
134 просмотров
schedule
12.03.2024
Избыточное общее ограничение?
Рассмотрим следующий универсальный метод:
public T2 Frob<T1, T2>(T1 item)
where T1 : class, T2
=> item as T2;
Компилятор откажется компилировать этот код; Параметр типа 'T2' нельзя использовать с оператором 'as',...
231 просмотров
schedule
29.12.2021
Как обеспечить соблюдение формального протокола с помощью шаблонов C++?
При использовании утиной печати во время компиляции, присущей стилю шаблона , есть ли способ принудительно требование, чтобы аргумент шаблона реализовывал определенные методы с определенными сигнатурами?
struct ProtocolT {
void g() const;...
496 просмотров
schedule
29.04.2024
Добавление ограничений типа в объявления данных
Я читал о создании наших собственных типов и классов типов из Learn You a Haskell for Great Good . Я не совсем понимаю поведение компилятора Haskell, когда я добавляю ограничение типа к своим объявлениям data .
Например, у меня есть
{-#...
651 просмотров
schedule
25.03.2022
C # не может сделать тип notnull допускающим значение NULL
Я пытаюсь создать тип, похожий на Result в Rust или Either в Haskell, и я дошел до этого:
public struct Result<TResult, TError>
where TResult : notnull
where TError : notnull
{
private readonly OneOf<TResult, TError>...
658 просмотров
schedule
16.09.2023
Обобщенные ограничения в предложении параметра типа?
SLS определяет синтаксис параметра типа как
TypeParamClause ::= ‘[’ VariantTypeParam {‘,’ VariantTypeParam} ‘]’
FunTypeParamClause::= ‘[’ TypeParam {‘,’ TypeParam} ‘]’
VariantTypeParam ::= {Annotation} [‘+’ | ‘-’] TypeParam
TypeParam...
37 просмотров
schedule
07.02.2024
Композиция функций с аннотацией типа для значений по умолчанию
Допустим, у меня есть следующий тип:
data ImageSize = ImageSize {height :: Int, width :: Int}
Теперь я хочу преобразовать это в массив JSON (по устаревшим причинам поверхности API):
instance ToJSON ImageSize where
toJSON ImageSize{..} =...
59 просмотров
schedule
19.08.2022