Публикации по теме 'type-inference'


Понимание вывода типа TypeScript
Неожиданное путешествие через ужасы вложенных дженериков и интерфейсов Недавно команда Redux решила преобразовать проект в TypeScript. Я много использовал TypeScript на моей должности в Unlock, и решил погрузиться в дело. Поскольку проект уже содержит значительный объем ввода в index.d.ts , большая часть работы заключается в настройке и поиске умных способов выполнения запросов на вытягивание, которые должны быть достаточно короткими, чтобы их можно было просмотреть. Войдите в..

Вопросы по теме 'type-inference'

Почему «Код недостаточно общий»?
Кто-нибудь может объяснить, почему второй пример ниже не компилируется? «Тест 2» дает «ошибка FS0670: этот код недостаточно общий. Переменная типа ^a не может быть обобщена, поскольку она выходит за пределы ее области действия». Я не понимаю это...
1585 просмотров
schedule 26.01.2024

Устранение неполадок: почему здесь не происходит сбой вывода типов?
Учитывая тип, объявленный, как показано ниже public class EqualityProbe<T> { public EqualityProbe( Func<T> functionToGetActualValue, T expectedValue, string probeDescription) {..} Код клиента: // cannot infer bool here new...
91 просмотров
schedule 24.09.2022

Почему List ‹T› недействителен в ковариантном интерфейсе MyInterface ‹out T›
Последующий вопрос к предыдущему вопросу , это было определено как проблема ковариации. Сделаем еще один шаг, если я изменю IFactory следующим образом: class Program { static void Main(string[] args) { IFactory<IProduct>...
1344 просмотров

Java — дженерики против приведения объектов
У меня есть класс Data<T> с общим атрибутом private T value; есть ли лучший способ сделать следующее? т.е. вернуть общий тип в разных формах? public List<String> getValues() { if (value.getClass() != ArrayList.class)...
6901 просмотров
schedule 22.12.2023

Выводимые типы F# в If/Then
Если у меня есть следующая функция: let myFunc x y = if y = 0 then 1 x Я получаю сообщение об ошибке: Program.fs(58,17): error FS0001: This expression was expected to have type unit but here has type int Почему...
354 просмотров
schedule 17.01.2024

Типы возвращаемых значений для нереализованных методов в типажах
Предположим, у меня есть трейт SomeTrait с нереализованным методом func . Этот метод вернет что-то, что расширяет SomeTrait . Другими словами, у меня есть что-то вроде следующего: trait SomeTrait { def func(x: Int): SomeTrait } Теперь...
933 просмотров
schedule 26.09.2022

Предполагаемый тип и динамическая типизация
На языке программирования, в чем разница между Inferred Type и Dynamic Typing? Я знаю о динамической типизации, но не понимаю, чем динамическая типизация отличается от Inferred Type и чем? Может ли кто-нибудь дать объяснение на каком-нибудь примере?
3706 просмотров
schedule 02.03.2024

Компилятор F# выводит конкретные типы из первого использования универсальных функций при каррировании
У меня проблема с выводом типа и каррированием. У меня есть вспомогательный метод: requestToGroup : group:'T array -> operation:('T -> System.Threading.Tasks.Task<'B>) -> predicate:('B -> bool) ->...
106 просмотров
schedule 19.02.2024

Вывод типа Java с нижними ограниченными типами
Почему Java может сделать вывод об общем предке нескольких типов с верхней границей, но не может сделать вывод об общем предке нескольких типов с нижней границей? Более конкретно, рассмотрим следующие примеры: static class Test { static...
404 просмотров

Можно ли получить ошибку бесконечного вида в Haskell 98?
Я реализую добрую систему для нового функционального языка программирования, и в настоящее время я пишу функцию для объединения двух видов. Рассмотрим четыре случая: +---------+---------+-------------------------------------------------------+ |...
849 просмотров

Почему этот пример потока Java 8 не компилируется?
Я пытаюсь понять, почему этот код не компилируется в JDK 1.8.0_45 : public class Example<E extends Example<E>> { public List<? extends Example<?>> toExamples(Collection<String> collection) { return...
14787 просмотров
schedule 27.07.2022

Возможен вывод обратного типа?
Учитывая следующие классы (используются фабрики, потому что С# не поддерживает вывод типа в конструкторах): public class A<T> { public A(B<T> b) { } } public class B<T> { public B(C<T> c) { } } public class...
126 просмотров
schedule 07.10.2022

Ошибка определения типа ржавчины
Я пишу чат-сервер через TCP в качестве учебного проекта. Сегодня я возился с ящиком ws , но столкнулся с проблемой. Это код, который я написал, изменяя их пример сервера . extern crate ws; extern crate env_logger; use ws::listen; fn main()...
133 просмотров
schedule 09.09.2022

Вывод подтипов общих типов в TypeScript
Я хочу иметь функцию, которая берет некоторый объект и возвращает его атрибут x . Объект должен быть ограничен общим типом Type<X> , и я хочу, чтобы тип возвращаемого значения был типом атрибута x . Чтобы ограничить ввод до Type<X>...
660 просмотров

Удивительный вывод типа для именованного поля в Haskell
Рассмотрим следующую стенограмму GHCi, версия 8.2.2: GHCi, version 8.2.2: http://www.haskell.org/ghc/ :? for help Prelude> :set -XRankNTypes Prelude> data Functor f = Functor { fmap :: forall a b. (a -> b) -> f a -> f b }...
75 просмотров
schedule 01.04.2024

python 3: вывод типов с помощью mypy?
Учитывая следующий фрагмент в python 3 def foo() -> List[X]: pass class X: def bar(self) -> MYTYPE: pass для следующего выражения: [x.bar() for x in foo()] Могу ли я использовать пакет mypy , чтобы правильно...
341 просмотров

Вывод типа Perl 6
Данный: sub abc(Int $n) { say $n } Если мы передадим переменную типа Str в abc , мы получим ошибку времени компиляции: my Str $s = "123"; abc $s; Если мы передадим нетипизированную переменную, содержащую строку, мы получим...
373 просмотров
schedule 22.01.2024

TS7017 подразумевает вывод любого типа + типа
Вот сжатый фрагмент кода с ошибкой: export default function formatSql(this: EscapeFunctions, sqlQuery: string, values: QueryParams) { if (isPlainObject(values)) { console.log(values[p]); // <-- Element implicitly has an 'any' type...
124 просмотров
schedule 16.12.2023

Вывод типа ведет себя по-разному для аналогичных случаев
Выполнение следующего кода (Dart 2.3) вызывает исключение: type 'List<dynamic>' is not a subtype of type 'List<bool>' bar() => 0; foo() => [bar()]; main() { var l = [1, 2, 3]; l = foo(); } Однако этот немного...
43 просмотров
schedule 26.11.2023

Как помочь системе вывода типов определить тип аргумента замыкания?
У меня есть замыкание color , но система типов не может вывести тип своего аргумента pixel . pub fn solve_part2(input: &[u32]) -> String { let color = |pixel| { pixel .skip_while(|l| **l == 2) .next()...
61 просмотров
schedule 08.08.2022