Публикации по теме 'generics'


Случайные мысли о проблеме Go Generics
Все уже знакомы с этой проблемой. Определяемые пользователем дженерики — (по некоторым подсчетам) самая востребованная функция Go и, безусловно, одно из самых спорных упущений. Но это всегда было понятным ограничением, потому что дженерики сложны для многих языков и медленно компилируются, а Go доказал, что без них можно пройти очень долгий путь. Теперь, когда Go 2.0 вынесен на обсуждение и у нас есть официальный список «отчетов об опыте » на тему дженериков, мы можем полупродуктивно..

Понимание дженериков как чашка чая Часть 1
N.B. вы должны иметь четкие знания как о примитивных, так и о классовых типах данных. В конце серии из двух частей вы сможете читать и создавать универсальные коды, подобные приведенному ниже. Или вы можете просто перейти к Части 2 для Конца игры😉😉😉 class Planet<T,S,U>{ } //instantiating a generic class Planet<Land,Water<Ocean,Fresh>,Air<Wind,Cloud>> = new Planet<>(); Раньше я выкладывал в Интернет статью, в которой подробно описывалась часть..

Вы МОЖЕТЕ съесть свой пирог и съесть его   —   Type-Safe коллекция элементов любого типа в Kotlin.
Прежде чем вы начнете читать, позвольте мне сделать здесь одно замечание. Очевидно, этого можно добиться и на Java (или другом языке со статической типизацией), но, поскольку мой пример взят из библиотеки Android , выбор Kotlin был наиболее подходящим вариантом. Безопасность типа Я уверен, что у большинства из вас есть ненулевой опыт работы с JavaScript или Python. Это потому, что они отлично подходят для интеллектуальных небольших инструментов и прототипирования. Но это имеет..

Talkin’ About My Generics — Часть 1 (Swift 3)
Универсальное программирование — это стиль «компьютерного программирования , в котором алгоритмы записываются в терминах типов , которые будут указаны позже , которые затем создается при необходимости для определенных типов, предоставляемых в качестве параметров . — Википедия Написание кода с помощью универсальных шаблонов — это способ написания функций и типов данных без указания того, какой именно тип необходимо использовать. Как следует из названия, общие типы не..

Язык типа ржавчины
Отказ от ответственности: если вы изучаете Rust, отнеситесь к этому с недоверием. Я тоже изучаю Rust и могу ошибаться в своих предположениях. Чем больше я читаю и занимаюсь Rust, тем больше понимаю, что Rust состоит из двух (трех, если считать макросы) языков. Один из них — это средний язык программирования, который опытный программист может выучить за неделю, плюс месяц или два для стандартной библиотеки и стандартных наборов. Он описывает приятные вещи, такие как циклы, сопоставление..

Ограничения обобщенного типа
В этой короткой статье я продемонстрирую ограничения обобщенного типа в Scala - что это такое, зачем они нужны и как они используются. Для начала позвольте мне показать вам две головоломки Scala. Головоломка номер один: def pair[S](s1: S, s2: S): (S, S) = (s1, s2) Как вы думаете, что произойдет, если мы передадим в этот метод два значения разного типа? Давайте посмотрим: scala> pair(“foo”, 1) res0: (Any, Any) = (foo,1) Произошло то, что компилятор сказал: «Хорошо, первое..

Имитация системы трейтов Rust в JavaScript
Обобщения и трейты отлично подходят для DRY-кода. Они позволяют вам обойтись написанием кода, который работает (почти) везде. К сожалению, в Rust нет встроенной поддержки реализации одного и того же трейта для разных конкретных структур. В качестве обходного пути разработчики Rust придумали такие решения, как макросы, чтобы избежать повторения. Трейты в Rust Вот простой пример того, как Rust работает с трейтами: Что там произошло? Я создал 2 структуры Foo и Bar , и для каждой..