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


Эффективные типы: параметризованные типы, дружественный учебник для начинающих (поток)
Небольшое примечание: этот пост отмечен тегом Flow , но все, кроме последнего набора примеров, переводится непосредственно на TypeScript 2+ (с включенным --strictNullChecks ). Кроме того, этот пост скопирован из моего блога , потому что я не очень-то люблю самообслуживание. «Параметризованные типы» — это особенность Flow, TypeScript и растущей коллекции других языков. Это способ пробить дыры в определении типа, предоставляя более позднему пользователю возможность заполнить пробелы..

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

Эмуляция класса структуры типа значения в PHP
Есть ли способ имитировать структурный класс в PHP? то есть класс, который передается по значению, а не по ссылке, поэтому он все еще может иметь подсказку типа ... И если да, то какие разные техники можно использовать? Какая лучшая техника?...
909 просмотров
schedule 02.05.2024

Дженерики Java: почему someObject.getClass() не возвращает Class‹? расширяет T›?
Я ожидаю, что с точки зрения времени компиляции, а также с точки зрения времени выполнения для .getClass() не будет проблемой предоставить правильно типизированное возвращаемое значение. Но я должен ошибаться. public class _GetClassGenerics2...
8761 просмотров
schedule 17.08.2022

c++: использование безопасности типов для различения типов двух аргументов типа int
У меня есть различные функции с двумя аргументами типа int (и функции, и код вызова я пишу сам). Боюсь перепутать порядок аргументации в некоторых вызовах. Как я могу использовать безопасность типов, чтобы компилятор предупреждал меня или выдавал...
1904 просмотров
schedule 31.07.2023

Перечисления, классы, отражение и универсальное приведение
Учтите, что у меня есть интерфейс com.mycompany.SomeInterface и перечисление com.mycompany.SomeEnum implements SomeInterface . Я хочу получить все константы перечисления этого класса как экземпляры SomeInterface во время выполнения, используя...
2416 просмотров
schedule 28.04.2024

Зачем отключать проверку дисперсии через @uV?
Я только что наткнулся на следующее определение метода to , определенного TraversableLike (2.10.0): override def to[Col[_]](implicit cbf: CanBuildFrom[Nothing, A, Col[A @uV]]): Col[A @uV] = { val b = cbf() b.sizeHint(this) b ++=...
205 просмотров
schedule 24.02.2024

С++ 11 Проверка совпадения двух наборов переменных аргументов шаблона
Этот вопрос относится к более раннему вопросу, который я задавал относительно реализации чего-то похожего на сигнал/слоты Qt в С++ 11. Рассмотрим следующее ( очень упрощенный диспетчер сигналов, который в этом примере не дает никакой пользы, он...
490 просмотров
schedule 27.04.2022

Как создать безопасные перечисления типов?
Добиться безопасности типов с помощью перечислений в C проблематично, поскольку они, по сути, являются просто целыми числами. И константы перечисления фактически определены стандартом как тип int . Чтобы добиться некоторой безопасности типов, я...
5341 просмотров
schedule 10.07.2023

Почему Retrofit рекламируется как библиотека Type Safe?
Я просто просматривал их главную страницу , и там написано: Типобезопасный HTTP-клиент для Android и Java Почему Retrofit позиционирует себя как безопасный по типу, а другие библиотеки (многие другие популярные) - нет? Прежде чем вы...
1373 просмотров
schedule 17.04.2023

Почему Typescript не выдает ошибку при индексации в неиндексируемые типы и есть ли способ заставить это сделать?
При попытке использовать тип карты , Я неоднократно стрелял себе в ногу, пытаясь получить и установить элементы с помощью квадратных скобок. Я понимаю, что мне нужно использовать map.get(key) и map.set(key,value) , но после столь долгого...
404 просмотров
schedule 27.10.2022

iOS Swift4, как согласовать T.Type и type(of:) для передачи типа динамического класса в качестве параметра функции?
Я пытаюсь реализовать универсальное хранилище параметров конфигурации, используя строку типа класса в качестве ключа словаря. Идея состоит в том, что функция извлечения вернет объект надлежащего типа. Каждый тип уникален в хранилище. Однако, когда...
160 просмотров

Как безопасность типов здесь не в опасности
Следующий код выводит «тест» List<Integer> b = new ArrayList<>(); List a = b; a.add("test"); System.out.println(b.get(0)); Как это возможно? Разве я не должен ожидать ошибки при добавлении строки в список целых...
51 просмотров
schedule 13.01.2023

TypeScript: как создать типовой объект?
У меня следующие интерфейсы: interface AppState { readonly grid : IGridSettings; readonly selected : ISelectedSettings; } interface IGridSettings { readonly extents : number; readonly isXY : boolean; readonly isXZ : boolean; readonly...
2959 просмотров
schedule 04.08.2023

Typescript: как добавить безопасность типов к свойствам объекта?
У меня есть следующее: type CommandTypes = 'one' | 'two' | 'three'; const CONST = { commands: { a: 'one', b: 'two', c: 'error' }, }; Есть ли способ обеспечить, чтобы все команды были определенного типа? Прямо сейчас...
378 просмотров
schedule 19.04.2024

Можно ли предотвратить автоматическое приведение к строке с помощью TypeScript?
Следующие проверки типов кода: type Point = {x: number, y: number}; const p: Point = ...get a point...; const r = p + " is too far"; Есть ли способ предотвратить это, сделав это ошибкой времени компиляции (возможно, через параметр...
48 просмотров
schedule 20.08.2022

Kotlin Map/List Безопасность типов, допускающих значение Nullable
Я новичок в kotlin, поэтому мне нужны ключевые слова для моих вопросов. вот мой код котлина: fun foo(map: Map<String, Int>) { map.forEach { println(it.value.toString()) } } Этот фрагмент может вызвать NPE при вызове, как...
63 просмотров
schedule 14.07.2023