Вопросы с тегом «typechecking»

255
Как узнать тип объекта (в Swift)?

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

241
Проверка типа класса в TypeScript

В ActionScript можно проверить тип во время выполнения с помощью оператора is : var mySprite:Sprite = new Sprite(); trace(mySprite is Sprite); // true trace(mySprite is DisplayObject);// true trace(mySprite is IEventDispatcher); // true Можно ли определить, является ли переменная (extends или)...

159
Введите аннотации для * args и ** kwargs

Я пробую аннотации типов Python с абстрактными базовыми классами для написания некоторых интерфейсов. Есть ли способ аннотировать возможные типы *argsи **kwargs? Например, как можно выразить, что разумными аргументами функции являются intили два или два int? type(args)дает, Tupleпоэтому я...

135
Java: Экземпляр и Обобщения

Прежде, чем я просматриваю свою общую структуру данных для индекса значения, я хотел бы видеть, параметризован ли он даже экземпляру типа this. Но Затмение жалуется, когда я делаю это: @Override public int indexOf(Object arg0) { if (!(arg0 instanceof E)) { return -1; } Это сообщение об ошибке:...

123
Как проверить, является ли объект Ruby логическим

Кажется, я не могу легко проверить, является ли объект логическим. Есть ли что-то подобное в Ruby? true.is_a?(Boolean) false.is_a?(Boolean) Сейчас я делаю это и хотел бы сократить его: some_var = rand(1) == 1 ? true : false (some_var.is_a?(TrueClass) || some_var.is_a?(FalseClass))...

9
Типы сумм - почему в Haskell `show (Int | Double)` отличается от `(show Int) | (показать дубль) `

Почему они не эквивалентны? show $ if someCondition then someInt else some double а также if someCondition then show someInt else show someDouble Я понимаю, что если вы изолируете if ... elseчасть в первом примере от выражения, то вы не сможете представить его тип анонимным типом суммы Int |...

9
Почему «трюк с ограничениями» не работает в этом экземпляре HasField, заданном вручную?

У меня есть этот (по общему признанию странный) код, который использует lens и GHC.Records : {-# LANGUAGE DataKinds, PolyKinds, FlexibleInstances, UndecidableInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE...