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

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

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

3
Collections.emptyList () возвращает список <Object>?
У меня возникли некоторые проблемы при навигации по правилу Java для определения параметров универсального типа. Рассмотрим следующий класс, который имеет необязательный параметр списка: import java.util.Collections; import java.util.List; public class Person { private String name; private List&lt;String&gt; nicknames; public Person(String name) { this(name,Collections.emptyList()); } public Person(String name,List&lt;String&gt; nicknames) { this.name = …


14
Сколько это слишком много с ключевым словом auto C ++ 11?
Я использовал новое autoключевое слово, доступное в стандарте C ++ 11 для сложных шаблонных типов, для которого, как мне кажется, оно было разработано. Но я также использую его для таких вещей, как: auto foo = std::make_shared&lt;Foo&gt;(); И более скептически для: auto foo = bla(); // where bla() return a shared_ptr&lt;Foo&gt; …

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

5
Как передать тип класса в качестве параметра функции
У меня есть общая функция, которая вызывает веб-сервис и сериализует ответ JSON обратно на объект. class func invokeService&lt;T&gt;(service: String, withParams params: Dictionary&lt;String, String&gt;, returningClass: AnyClass, completionHandler handler: ((T) -&gt; ())) { /* Construct the URL, call the service and parse the response */ } То, что я пытаюсь сделать, является …

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

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

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

1
Вызов статических универсальных методов
Я столкнулся с любопытной ситуацией, связанной со статическими универсальными методами. Это код: class Foo&lt;E&gt; { public static &lt;E&gt; Foo&lt;E&gt; createFoo() { // ... } } class Bar&lt;E&gt; { private Foo&lt;E&gt; member; public Bar() { member = Foo.createFoo(); } } Почему мне не нужно указывать аргументы типа в выражении Foo.createFoo()? Это …

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

3
Особенность вывода типа исключения в Java 8
При написании кода для другого ответа на этом сайте я обнаружил такую ​​особенность: static void testSneaky() { final Exception e = new Exception(); sneakyThrow(e); //no problems here nonSneakyThrow(e); //ERRROR: Unhandled exception: java.lang.Exception } @SuppressWarnings("unchecked") static &lt;T extends Throwable&gt; void sneakyThrow(Throwable t) throws T { throw (T) t; } static &lt;T …

9
Не удалось «findViewById» в Котлине. Ошибка "Ошибка определения типа"
Когда я пытаюсь найти RecycleViewпо идентификатору, я получаю следующую ошибку . Ошибка: - Ошибка вывода типа: недостаточно информации для вывода параметра T Код: class FirstRecycleViewExample : AppCompatActivity() { val data = arrayListOf&lt;String&gt;() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.first_recycleview) val recycler_view = findViewById(R.id.recycler_view) as RecyclerView ///IN THIS LINE I AM …

4
Почему лямбда-тип возврата не проверяется во время компиляции?
Ссылка на используемый метод имеет тип возвращаемого значения Integer. Но несовместимое Stringдопускается в следующем примере. Как исправить withобъявление метода, чтобы получить безопасный тип ссылки на метод без приведения вручную? import java.util.function.Function; public class MinimalExample { static public class Builder&lt;T&gt; { final Class&lt;T&gt; clazz; Builder(Class&lt;T&gt; clazz) { this.clazz = clazz; } …

6
Почему Java не может определить супертип?
Мы все знаем, что Лонг расширяется Number. Так почему же это не скомпилировать? А как определить метод, withчтобы программа компилировалась без ручного приведения? import java.util.function.Function; public class Builder&lt;T&gt; { static public interface MyInterface { Number getNumber(); Long getLong(); } public &lt;F extends Function&lt;T, R&gt;, R&gt; Builder&lt;T&gt; with(F getter, R returnValue) …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.