Описание тега traits

In computer programming, a trait is a collection of methods, used as a "simple conceptual model for structuring object oriented programs"
1 ответ

Используя Moose, как мне установить значение атрибута ro в атрибуте runtime?

У меня есть атрибут атрибута, который я хочу установить на основе других атрибутов класса. Я действительно хочу по умолчанию для Attribute Trait, который получает копию класса $self а не мета для атрибута. Я хочу сделать что-то подобное в своем клас…
16 ноя '10 в 16:36
1 ответ

Groovy 2.3 черты на веб-консоли

Я хотел попробовать последние trait Особенность Groovy 2.3, но не удалось выполнить их на веб-консоли Groovy по умолчанию, а также Ideone. Существуют ли другие веб-консоли для Groovy 2.3? Или мне придется установить 2.3 на локальную машину, чтобы по…
19 апр '14 в 06:44
2 ответа

Получить имя абстрактного типа

Я пытаюсь создать черту, которая будет предоставлять имя абстрактного типа, который добавляется в подкласс: trait T { type T def myClassOf[T:ClassTag] = implicitly[ClassTag[T]].runtimeClass def getType = { myClassOf[T].getSimpleName } } class TT ext…
19 апр '17 в 17:58
0 ответов

Эмуляция множественного и динамического наследования без PHP Traits ниже 5.4?

Предыстория: в PHP 5.4 теперь есть черты, которые позволяют вам составлять классы таким образом, чтобы вы могли повторно использовать эти "миксины" где угодно. Это широко используется в горизонтальном программировании и имеет важные преимущества: со…
21 апр '14 в 16:59
1 ответ

Может ли структура реализовать две черты с конфликтующими именами методов в Rust?

Можно ли реализовать две черты с конфликтующими именами методов в Rust? Я знаю, что это дает вам multiple applicable methods in scope ошибка, но есть ли способ решить эту проблему? Например, некоторые языки обрабатывают множественное наследование, п…
13 мар '18 в 06:11
2 ответа

Есть ли корневой интерфейс или признак, эквивалентный классу stdClass?

В PHP базовый класс stdClassи все остальные классы являются дочерними для этого класса, и он также является объектом по умолчанию, возвращаемым в большинстве случаев, когда другой класс не определен. Мой вопрос первый, если есть эквивалентный интерф…
11 дек '17 в 10:47
1 ответ

Расширенные черты в коллекциях

У меня есть простая черта Fruit и расширенная черта WeightedFruit, Компилятор Rust принимает Fruit черта в LinkedList но нет WeightedFruit в BTreeSet, Что нужно изменить, чтобы отсортированный набор работал? pub trait Fruit { } pub trait WeightedFru…
04 дек '16 в 21:12
2 ответа

Общая итерация по карте или вектору из двух кортежей

По причинам, я хочу определить универсальную функцию, которая может перебирать пары ключ-значение, выраженные либо как отображение, либо как вектор из 2-х кортежей (или чего-либо еще, что удовлетворяет IntoIterator<Item=(K, V)>, где K а также …
13 янв '17 в 01:54
1 ответ

Поиск составного паттерна черт для итераторов преобразования буста

Настройки Когда вы хотите иметь итераторы, которые перебирают то, что они перебирают, перед возвратом, boost::transform_iterator довольно хорошо. Вы передаете им унарную функцию, которая преобразует результат основного итератора operator*() итератор…
30 янв '14 в 09:33
2 ответа

Ранний инициализатор `new {} с SomeTrait` завершается неудачно

Кажется, есть тонкость при использовании раннего синтаксиса инициализатора. trait Base { def callMe = "callMe" } trait Proxy { this: Base => def call = s"proxied: $callMe" } val base1 = new Base { } // non-early init works val baseFail = new { } …
16 дек '16 в 17:19
1 ответ

Почему скаляр выводит `Foo with Bar`, а не просто`Foo` для типа возврата совпадения / регистра?

В модельном классе у меня есть простой getter функционировать так: def geoLoc = { geoQuant match { case "COUNTRY" => Country.find.byId(geoLocId) case "PROVICE" => Province.find.byId(geoLocId.toLong) case "CITY" => City.find.byId(geoLocId.to…
02 дек '14 в 10:49
1 ответ

Список черт, не сообщающий о добавленных или удаленных элементах

Дано, from enthought.traits.api import HasTraits, Tuple, Delegate, Trait, Float,Dict,List class Foo(HasTraits): def __init__(self): super(Foo,self).__init__() self.add_trait('node',List) def _node_items_changed(self,name,old,new): print name print o…
27 сен '13 в 01:43
1 ответ

В люмене, Как вызвать функцию другой черты в черте

У меня есть две черты в моем приложении просвета CommonTrait и PaymentTrait. Помощники /CommonTrait имеет следующий метод: 1.sendMail 2.calculateAmount Помощники /PaymentTrait следующим образом 1. Addorder 2. Addtrans. 3. GenerateContForMail Я хочу …
08 авг '18 в 10:21
2 ответа

Scala: вернуть заголовок списка, но пустой список не может вернуть ноль

Я только начинаю изучать Scala, и у меня возникли небольшие проблемы с функцией головы. Я хочу вернуть первый элемент из списка элементов А. Но в случае с Нилом я не знаю, что вернуть. Функция ожидает A, но, поскольку A абстрактна и может быть чем у…
29 авг '18 в 19:36
2 ответа

Дженерики плюс динамическая отправка

Рассмотрим случай, когда у меня есть функция make_numbers который должен создать строку случайных чисел, но где я хочу решить во время выполнения (пользовательский ввод), какой тип генератора случайных чисел следует использовать. Чтобы сделать это е…
28 окт '18 в 10:21
2 ответа

Как инициализировать значения черт в subtrait?

Я пытался использовать реферат val в черту, чтобы инициализировать другое значение. Я получил NullPointerException, Я свел поведение до минимального теста: trait MessagePrinter { val message: String println(message) } class HelloPrinter extends Mess…
05 янв '15 в 14:44
1 ответ

Как проверить, реализована ли черта во время компиляции в Rust?

Я хочу напечатать переменную с Display черта, если это реализовано, или с Debug черта иначе. Все типы известны во время компиляции. let display = MyDisplayType::new(); // implements Display let debug = MyDebugType::new(); // implements Debug output!…
12 авг '18 в 19:24
1 ответ

Соответствие функции-члена существования и подписи: параметры

Чтение связанных вопросов "Как вызывать функцию-член, только если объект имеет ее?" и "Можно ли написать шаблон C++ для проверки существования функции?" Я реализую свой собственный класс черт. Цель очень проста, хотя я не могу достичь того, что хоте…
24 дек '14 в 06:32
1 ответ

Scala - псевдоним типа внутри типа

Скажем, у меня есть следующее простое определение черты Scala внутри класса: class Foo { trait Bar } val f = new Foo type MyAlias = f.Bar Это позволяет мне псевдоним Bar с MyAlias, Однако, если я попытаюсь вставить это, чтобы прочитать type MyAlias …
08 июн '14 в 20:41
1 ответ

В чем разница между "класс C расширяет A с помощью B" и "класс C расширяет B", когда черта B расширяет черту A

Когда две черты определены так, trait A trait B extends A В чем разница между этими двумя. class C extends B class D extends A with B Я не думаю, что классу C или D необходимо расширять признак A, поскольку признак B уже расширяет признак A. Почему …
05 янв '12 в 09:14