Вопросы с тегом «type-inference»

Вывод типа - это процесс автоматического вывода типов для программ с использованием правил, определенных системой типов.

406
Использование ключевого слова var в C #

Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. После обсуждения с коллегами относительно использования ключевого слова 'var' в C # 3 мне стало интересно, что люди...

269
Collections.emptyList () возвращает список <Object>?

У меня возникли некоторые проблемы при навигации по правилу Java для определения параметров универсального типа. Рассмотрим следующий класс, который имеет необязательный параметр списка: import java.util.Collections; import java.util.List; public class Person { private String name; private...

218
Сколько это слишком много с ключевым словом auto C ++ 11?

Я использовал новое autoключевое слово, доступное в стандарте C ++ 11 для сложных шаблонных типов, для которого, как мне кажется, оно было разработано. Но я также использую его для таких вещей, как: auto foo = std::make_shared<Foo>(); И более скептически для: auto foo = bla(); // where bla()...

210
Почему Swift компилируется так медленно?

Я использую Xcode 6 Beta 6. Это то, что беспокоило меня в течение некоторого времени, но сейчас оно достигло точки, когда его едва ли можно использовать. Мой проект начинает иметь приличный размер 65 Swift-файлов и несколько мостовых файлов Objective-C (которые на самом деле не являются причиной...

143
Есть ли обратная сторона в объявлении переменных с auto в C ++?

Похоже, что это autoбыла довольно значительная особенность, которая должна быть добавлена ​​в C ++ 11, которая, кажется, следует за многими новыми языками. Как и в языке, подобном Python, я не видел явного объявления переменных (я не уверен, возможно ли это с использованием стандартов Python). Есть...

120
Какие ограничения scala накладывает на «приемлемую сложность» предполагаемых типов?

Согласно спецификации языка Scala : ... логический вывод локального типа разрешен для ограничения сложности предполагаемых границ [параметров типа]. Минимальность и максимальность типов следует понимать относительно множества типов приемлемой сложности. На практике каковы ограничения? Кроме того,...

109
Как я могу надежно определить тип переменной, объявленной с помощью var во время разработки?

Я работаю над средством завершения (intellisense) для C # в emacs. Идея заключается в том, что если пользователь набирает фрагмент, а затем запрашивает завершение с помощью определенной комбинации клавиш, средство завершения будет использовать отражение .NET для определения возможных завершений....

94
реализация вывода типа

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

80
Не удалось «findViewById» в Котлине. Ошибка "Ошибка определения типа"

Когда я пытаюсь найти RecycleViewпо идентификатору, я получаю следующую ошибку . Ошибка: - Ошибка вывода типа: недостаточно информации для вывода параметра T Код: class FirstRecycleViewExample : AppCompatActivity() { val data = arrayListOf<String>() override fun onCreate(savedInstanceState:...

38
Почему лямбда-тип возврата не проверяется во время компиляции?

Ссылка на используемый метод имеет тип возвращаемого значения Integer. Но несовместимое Stringдопускается в следующем примере. Как исправить withобъявление метода, чтобы получить безопасный тип ссылки на метод без приведения вручную? import java.util.function.Function; public class MinimalExample {...

19
Почему Java не может определить супертип?

Мы все знаем, что Лонг расширяется Number. Так почему же это не скомпилировать? А как определить метод, withчтобы программа компилировалась без ручного приведения? import java.util.function.Function; public class Builder<T> { static public interface MyInterface { Number getNumber(); Long...

13
Почему `std :: mem :: drop` не совпадает с замыканием | _ | () в границах черт с более высоким рейтингом?

Реализация std::mem::dropзадокументирована следующим образом: pub fn drop<T>(_x: T) { } Таким образом, я ожидаю, что укупорка |_| ()(в просторечии известная как унитаз ) будет потенциальной заменой 1: 1 dropв обоих направлениях. Тем не менее, приведенный ниже код показывает, что dropон не...

9
Разница между выводом типа метода и параметрами типа класса при сопоставлении с образцом

Почему сопоставление с образцом работает по-разному, когда параметр типа поступает из включающего метода, а не из включающего класса? Например, trait Base[T] case class Derived(v: Int) extends Base[Int] class Test[A] { def method(arg: Base[A]) = { arg match { case Derived(_) => 42 } } } дает...