Вопросы по теме 'duck-typing'

Как я могу выступить против утиной печати на строго типизированном языке, таком как Java?
Я работаю в команде Java-программистов. Один из моих коллег время от времени предлагает мне сделать что-то вроде «просто добавьте поле типа» (обычно «строковый тип»). Или код будет загружен с " if (foo instanceof Foo){...} else if( foo instanceof...
2044 просмотров
schedule 26.03.2024

Утиный набор текста в Delphi 2007 (продолжение)?
Это продолжение этого сообщения . Я уточнил свое требование на основе принятого ответа, опубликованного здесь . Мой файл *.dpr: program DuckD11; {$APPTYPE CONSOLE} uses SysUtils, uDuckTyping in 'uDuckTyping.pas', uBirds in...
334 просмотров
schedule 03.04.2022

Javascript - создание объекта eval?
Я все еще очень новичок в JavaScript (хотя и не в кодировании), так что не стесняйтесь придираться и придираться ко мне. Я попытался создать что-то, что будет принимать пользовательский ввод. Если первым символом является восклицательный знак, он...
333 просмотров
schedule 06.01.2024

Имеет ли смысл этот подход к утиному набору Python, смешанному с isinstance()?
Допустим, у нас есть следующие классы: class Duck(object): pass class OldFashionedDuck(Organism, Duck): def look(self): self.display_biological_appearance() def walk(self): self.keep_balance_on_two_feet() def...
636 просмотров
schedule 09.02.2023

Pythonic isinstance для чисел с плавающей запятой и целых чисел
Скажем, у вас есть функция: def divide(a, b): return a / b Это, очевидно, даст другой результат, если a и b равны float , int или их комбинации. Если вас волнует только ситуация, когда a и b являются числами с плавающей...
277 просмотров
schedule 12.05.2024

В каких примерах динамическая типизация предпочтительнее статической?
Возьмем простую функцию, которая увеличивает целое число: Статический ввод: function incrementNumber(int n) { n = n + 1; } Динамический ввод: function incrementNumber(n) { if (type of n != int) { throw Error;...
101 просмотров

Специализированные шаблоны на основе методов
В последнее время я много программировал на Java, сейчас возвращаюсь к своим корням в C++ (мне реально стало не хватать указателей и ошибок сегментации). Зная, что C++ имеет широкую поддержку шаблонов, мне было интересно, есть ли в нем некоторые...
428 просмотров
schedule 07.10.2023

Сопоставимые типы с mypy
Я пытаюсь создать общий класс, чтобы выразить, что значение имеет нижнюю и верхнюю границы, и обеспечить соблюдение этих границ. from typing import Any, Optional, TypeVar T = TypeVar("T") class Bounded(object): def __init__(self, minValue:...
1013 просмотров

Пользовательские классы с утиным вводом
Таким образом, основной язык Python и встроенные модули используют много утиной печати. Но для нашего собственного кода, скажем, я хочу создать свой собственный класс с методом, который имеет дело с «определенными типами» объектов, более идиоматично...
56 просмотров
schedule 13.03.2022

Поддерживают ли такие проверки, как «хэш?» в Racket, утиный ввод?
Я программист Python, новичок в Racket... Я видел такой код, как: (define table/c (and/c hash? (not/c immutable?))) Я понимаю, что это использование контрактов, то есть...
70 просмотров
schedule 09.09.2022