Публикации по теме 'static-typing'
Настоящая проблема с программированием на Javascript
Есть два технологических аспекта, которые выделяются в последнее время и которые выигрывают от большого количества рекламы в области Javascript: статическая типизация и функциональное программирование. Часто люди сосредотачиваются на своих преимуществах и игнорируют свои издержки.
Например, статическая типизация требует разумного определения этих типов и их поддержки. Есть хороший пример, связанный с шаблоном фреймворка MVC. В MVC, когда что-то происходит в представлении, представление..
Вопросы по теме 'static-typing'
Почему интерфейсы должны быть объявлены на Java?
Иногда у нас есть несколько классов, которые имеют некоторые методы с одинаковой сигнатурой, но не соответствуют объявленному интерфейсу Java. Например, и JTextField , и JButton (среди нескольких других в javax.swing.* ) имеют метод
public...
766 просмотров
schedule
24.10.2021
OCaml: найти значение определенного типа
У меня есть список некоторых значений, где мне нужно выяснить, какое значение первое:
type my_types =
| MAlpha
| MBeta of int list
| MGamma of string * int
let find_first where what =
List.iter ( fun m ->
| MAlpha...
215 просмотров
schedule
10.09.2021
Дарт: Почему следующий код компилируется в усиленном режиме?
void main(){
new C(new A()); // This gives no warning or error
new D(new A()); // This gives an error
}
class A{}
class B extends A{}
class C {
B b;
C(A bb){ this.b = bb; }
}
class D {
B b;
D(this.b);
}
В обоих...
80 просмотров
schedule
25.11.2021
Почему я получаю ошибку времени компиляции, когда указатель базового класса указывает на виртуальную функцию производного класса, объявленную в базовом классе?
У меня есть базовый класс, который имеет virtual void function1 () и переопределяется в производном классе. Кроме того, в моем производном классе есть еще одна виртуальная функция, как показано ниже.
class Base
{
public:
virtual void...
112 просмотров
schedule
18.02.2022
Есть ли какой-нибудь Python-подобный язык программирования с добровольной статической типизацией?
Существует ли какой-нибудь язык программирования, похожий на Python, но позволяющий вам добровольно указывать тип любой переменной/параметра/возвращаемого значения явно, чтобы всякий раз, когда вы действительно это делаете, среда IDE могла...
853 просмотров
schedule
04.05.2022
Нужен ли типобезопасный язык для статической типизации?
Я пытаюсь понять, что означает типобезопасность языка. В языке с динамической типизацией проверка типа выполняется во время выполнения, например, если я запускаю следующий PHP-код:
<?php
class MyClass
{
}
// Create a MyClass instance
$mc =...
1791 просмотров
schedule
22.06.2022
Путаница в отношении типов данных, компиляторов, аппаратного представления данных и статической и динамической типизации
Я пытаюсь понять статическую и динамическую типизацию, но мне очень трудно понять, как все сочетается друг с другом.
Все начинается с типов данных. Насколько я понимаю, типы данных - это довольно абстрактные понятия, которые существуют «в»...
116 просмотров
schedule
29.06.2022
Почему в C ++ нет модификатора порядка байтов, как для подписи?
(Думаю, этот вопрос может относиться ко многим типизированным языкам, но я решил использовать в качестве примера C ++.)
Почему нет возможности просто написать:
struct foo {
little int x; // little-endian
big long int y; //...
6938 просмотров
schedule
22.07.2022
ООП и динамическая типизация (не статическая и динамическая)
Какие принципы ООП, если таковые имеются, не применяются или применяются по-разному в среде с динамическим типом, в отличие от среды со статическим типом (например, Ruby или C#)? Это не призыв к дебатам о статике и динамике, а скорее я хотел бы...
1975 просмотров
schedule
29.07.2022
Функция, объявленная как Virtual в производном классе, не выполняется, вместо этого выдает ошибку компиляции. Почему?
Я понимаю виртуальную функцию и vTable, поэтому, пожалуйста, извините, если это тривиальный вопрос....
Основываясь на концепции vTable и vPtr, объясненной людьми, я понял и ожидаю, что нижеприведенная программа должна работать, но выдает ошибку....
88 просмотров
schedule
29.07.2022
TypeChecking для функции, которая не возвращает None
Рассмотрим рекурсивную реализацию факториальной функции -
from typing import Optional
def factorial(val: int) -> Optional[int]:
if val<0:
return None
if val==0:
return 1
return val*factorial(val-1)
if __name__...
298 просмотров
schedule
31.07.2022
Существуют ли статические языки с утиным типом?
Могу ли я указать интерфейсы при объявлении члена?
Поразмыслив над этим вопросом какое-то время, мне пришло в голову, что язык с статической типизацией может действительно работать. Почему предопределенные классы не могут быть привязаны к...
4128 просмотров
schedule
12.08.2022
Что означает отсутствие глобального вывода типов в Scala?
Я читал, что вывод типов в Scala не является глобальным, поэтому люди должны размещать аннотации типов к методам. (Будет ли это вывод «локального» типа?)
Я лишь немного понимаю, что причина в его объектно-ориентированной природе, но ясность...
1736 просмотров
schedule
06.04.2023
Замыкание с типизированными аргументами в Groovy
Я хотел бы более подробно рассказать о своих замыканиях относительно их типов аргументов. Я бы написал что-нибудь вроде
List<Y> myCollect(List<X> list, Closure<X,Y> clos) { ... }
Я знаю, что Groovy не будет использовать эту...
9568 просмотров
schedule
12.02.2023
Почему я не могу объявить поле, используя var
Возможный дубликат: Почему поля класса не могут быть переменными?
Я хотел бы избежать ввода сложных/длинных определений типов для полей, как вы можете с локальными переменными.
Я хотел бы знать, почему это не может быть сделано?...
441 просмотров
schedule
27.06.2023
Подпись типа Haskell с несколькими ограничениями класса
Как я могу иметь несколько ограничений класса, поэтому, если A является Eq , а B является Num , я мог бы сказать либо
f :: Eq a => a -> b`
or
f :: Num b => a -> b
Итак, как я могу иметь Eq a => и Num b =>...
13683 просмотров
schedule
30.12.2022
Общие типы, компилятор и динамические языки
В открытом тендере было следующее заявление:
«Использование универсальных типов в объектно-ориентированном программировании помогает проверять типы во время компиляции».
это правда или ложь? Я считаю, что это неверно, потому что компилятор...
192 просмотров
schedule
11.01.2023
заводные конфигурации typesafe с ConfigObject и ConfigSlurper
Я использую файл конфигурации groovy и анализирую его с помощью ConfigSlurper, в результате чего получается объект ConfigObject, который я использую для доступа к моей конфигурации. Недостатком является то, что у меня нет помощи от eclipse в...
349 просмотров
schedule
10.07.2023
проверка типов mypy с помощью декораторов
У меня есть что-то вроде следующего:
В myfile.py:
from file1 import REQ
@has_request_variable
def fun(request, REQ(validator=check_int))
/* body */
В file1.py
class REQ(object):
def __init__(self, validator=None):...
761 просмотров
schedule
04.06.2023
В потоке отсутствует проверка реквизита при установке значений по умолчанию для объекта
У меня есть функциональный компонент React, который принимает список в качестве реквизита.
const Dashboard = (props: { items: List } = { items: List() }) => {
const { items } = props
...
})
Однако items в const { items } = props...
1096 просмотров
schedule
04.02.2023