Публикации по теме 'duck-typing'


Утиная печать с Ruby
Это краткое изложение Duck Typing в case 1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=IW85KF7YKTIU&keywords=object+oriented+design&qid=1561247465&s=gateway&sprefix=object+oriented+%2Caps%2C309&sr=8-1">Практическом объектно-ориентированном проектировании: Agile Primer Using Ruby Что такое утиная печать? Согласно Википедии , Утиная печать в компьютерном программировании — это применение утиного теста — Если она ходит как утка и крякает как утка, то это должна быть..

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

Почему интерфейсы должны быть объявлены на Java?
Иногда у нас есть несколько классов, которые имеют некоторые методы с одинаковой сигнатурой, но не соответствуют объявленному интерфейсу Java. Например, и JTextField , и JButton (среди нескольких других в javax.swing.* ) имеют метод public...
766 просмотров

Утка печатать в Delphi 2007?
Вопрос: Есть ли способ сделать утиный ввод с помощью Delphi 2007 (то есть без универсальных шаблонов и расширенных функций Rtti)? Ресурсы Duck typing для Delphi 2010 и новее: Duck Duck Delphi в проекте Google, автор ARCANA ....
1575 просмотров
schedule 05.11.2021

Итерация по асинхронному методу
Несколько связанных вопросов об асинхронной CTP: Я могу выполнить итерацию по блоку итератора ( IEnumerable<T> yield-return T ), используя GetEnumerator() , а затем методы перечислителя MoveNext() и Current() . Какой аналог для...
600 просмотров

Использование дженериков Java и C # для имитации утиной печати
http://nullprogram.com/blog/2014/04/01/ пытается чтобы объяснить, что универсальные шаблоны Java не могут имитировать утиную печать, на примере: class Caller<T> { final T callee; Caller(T callee) { this.callee = callee;...
658 просмотров

Пифонический способ проверки параметра - это последовательность, а не строка
У меня есть функция, которая получает список таблиц БД в качестве параметра и возвращает командную строку для выполнения в этих таблицах, например: pg_dump( file='/tmp/dump.sql', tables=('stack', 'overflow'), port=5434...
792 просмотров
schedule 22.03.2022

Создайте объект javascript, используя константы с точками в качестве свойства
У меня есть объект, содержащий некоторые константы моей программы, так что я могу использовать его во всех файлах исходного кода. Объект констант выглядит примерно так: CONSTANTS = { THING_TYPE: 'type', THING_INFORMATION: 'information',...
89 просмотров
schedule 28.03.2022

Как напечатать объект Java с помощью Groovy или другого языка JVM
Моя проблема в том, что я пытаюсь взаимодействовать с приложением Java, файл jar которого содержит запутанный байтовый код. Приложение выпускает обновления раз в месяц или около того, и когда они делают выпуск, большинство имен классов и методов...
204 просмотров

Есть ли какой-нибудь Python-подобный язык программирования с добровольной статической типизацией?
Существует ли какой-нибудь язык программирования, похожий на Python, но позволяющий вам добровольно указывать тип любой переменной/параметра/возвращаемого значения явно, чтобы всякий раз, когда вы действительно это делаете, среда IDE могла...
853 просмотров

Тестирование типов утиных с C # 4 для динамических объектов
Я хочу иметь простой пример набора текста на C # с использованием динамических объектов. Мне кажется, что динамический объект должен иметь методы HasValue / HasProperty / HasMethod с одним строковым параметром для имени значения, свойства или метода,...
11345 просмотров
schedule 07.05.2022

Почему этот статически типизированный доступ к члену думает, что это геттер?
rvm — это объект, а не функция. Почему ограничение (^b:(member ReportSubTitle:(String -> unit)) rvm ) появляется как геттер, а не сеттер? Это проблема всплывающей подсказки или что-то еще? Везде, где я использовал статически...
139 просмотров
schedule 08.05.2022

Имеет ли scala возможность использовать параметр по умолчанию с утиной печатью?
Имеет ли scala возможность использовать параметр по умолчанию с утиной печатью? Код ниже выдает ошибку: здесь разрешены только объявления def test(x: { def x(a:Int, b:Int = 5):Int} ) = x(1)
389 просмотров
schedule 29.05.2022

Статическая утиная типизация на C ++
В C ++ есть своего рода утиная типизация для типов, заданных параметрами шаблона. Мы не знаем, какого типа будут DUCK1 и DUCK2 , но пока они могут quack() , он будет компилироваться и запускаться: template <class DUCK1, class DUCK2>...
1389 просмотров

Реализация безопасной утиной печати на C #
После того, как я посмотрел, как Go обрабатывает интерфейсы, и мне это понравилось, я начал думать о том, как можно добиться подобного утиного набора текста на C #, например это: var mallard = new Mallard(); // doesn't implement IDuck but has...
2186 просмотров
schedule 03.06.2022

Существуют ли статические языки с утиным типом?
Могу ли я указать интерфейсы при объявлении члена? Поразмыслив над этим вопросом какое-то время, мне пришло в голову, что язык с статической типизацией может действительно работать. Почему предопределенные классы не могут быть привязаны к...
4128 просмотров

Возвращает один из двух возможных объектов разных типов, использующих метод
У меня есть 2 класса: public class Articles { private string name; public Articles(string name) { this.name = name; } public void Output() { Console.WriteLine("The class is: " + this.GetType());...
9871 просмотров
schedule 04.09.2022

Документация Python: многократная итерация?
При документировании функции Python я считаю более питоническим сказать: def Foo(i): """i: An interable containing…""" …скорее, чем… def Foo(i): """i: A list of …""" Когда i действительно не нужно быть list . ( Foo с...
278 просмотров
schedule 22.09.2022

Есть ли связь между функциональным программированием и строгой типизацией?
Все «чистые» функциональные языки строго типизированы. Есть ли какая-то связь между ними?
870 просмотров

Имитация утиного набора текста на Java
Проблема: я хотел бы иметь общий доступ в Java к любому свойству / полю в объекте Java, аналогично тому, как это делает динамический язык (например, Groovy, JavaScript). . В то время, когда я пишу этот водопроводный код, я не знаю, какой это тип...
961 просмотров

Как обнаружить значение, подобное массиву или набору, избегая проверки типа
У меня есть метод, который принимает аргумент, который может быть объектом типа Array/Set или Hash. Суть метода примерно такая: def find(query = {}) if Array === query or Set === query query = {:_id => {'$in' => query.to_a}} end...
576 просмотров
schedule 28.06.2023

Python сравнивает 2 похожих объекта с утиным вводом
Может быть, мой дизайн полностью не в порядке, но если у меня есть 2 объекта производного класса, которые сопоставимы, но класс D1 в основном всегда будет> класса D2. (Скажем, сравнивая Ivy Bridge с 286). Как мне реализовать сравнение класса D1,...
346 просмотров
schedule 11.02.2023