Вопросы по теме '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 просмотров
schedule
10.01.2024
Специализированные шаблоны на основе методов
В последнее время я много программировал на 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 просмотров
schedule
23.07.2023
Пользовательские классы с утиным вводом
Таким образом, основной язык Python и встроенные модули используют много утиной печати. Но для нашего собственного кода, скажем, я хочу создать свой собственный класс с методом, который имеет дело с «определенными типами» объектов, более идиоматично...
56 просмотров
schedule
13.03.2022
Поддерживают ли такие проверки, как «хэш?» в Racket, утиный ввод?
Я программист Python, новичок в Racket...
Я видел такой код, как:
(define table/c (and/c hash? (not/c immutable?)))
Я понимаю, что это использование контрактов, то есть...
70 просмотров
schedule
09.09.2022