Вопросы по теме 'companion-object'

Псевдоним типа Scala, включая сопутствующий объект [новичок]
Я хотел бы написать псевдоним типа, чтобы сократить, красивый и инкапсулированный код Scala. Предположим, у меня есть некоторая коллекция, которая имеет свойство быть списком карт, значениями которых являются кортежи. Мой тип будет писать что-то...
3190 просмотров

Почему объект-компаньон Scala скомпилирован в два класса (компиляторы Java и .NET)?
object ScalaTrueRing { def rule = println("To rule them all") } этот фрагмент кода будет скомпилирован в байт-код java, если я его декомпилирую, то эквивалентный код Java будет похож на этот: public final class JavaTrueRing { public...
1742 просмотров

Как создать явный объект-компаньон для класса case, который ведет себя идентично замененному компилятору, предоставленному неявным объектом-компаньоном?
У меня есть класс случая, определенный как таковой: case class StreetSecondary(designator: String, value: Option[String]) Затем я определяю явный объект-компаньон: object StreetSecondary { //empty for now } Действие определения...
4964 просмотров
schedule 07.01.2023

Инкапсулировать шаблон сопутствующего баннера за аннотацией + макрос
Я использую ADT, которые можно создать только после этапа проверки (что является обычной практикой в ​​FP для обеспечения правильности). В качестве примера я использую тип Score поверх Double , который проверяет, что его значение в оболочке...
33 просмотров

Использование нового ключевого слова внутри метода apply в сопутствующем объекте
Я немного запутался в использовании сопутствующих объектов в scala. Если вы хотите предоставить несколько конструкторов, обычно вы объявляете сопутствующий объект и перегружаете метод apply . Но в чем разница между этими двумя способами ?: case...
221 просмотров
schedule 14.04.2023

Неявное преобразование Scala для объекта-компаньона расширенного класса
Я пытаюсь создать customRDD в Java. RDD преобразует RDD[(K,V)] в PairRDDFunctions[K,V] , используя неявную функцию Scala rddToPairRDDFunctions() , определенную в object RDD . Я пытаюсь сделать то же самое с моим CustomJavaRDD , который...
390 просмотров

как получить доступ к объекту-компаньону из экземпляра объекта в котлине?
Простой образец класса с сопутствующим объектом class MyClass { companion object { val test = 25 } } Доступ к тесту значений можно получить с помощью MyClass.test , но как получить доступ из экземпляра MyClass? Если у меня val...
12788 просмотров
schedule 04.05.2022

как получить доступ к внешнему классу javaClass.simpleName из объекта-компаньона в kotlin?
Я хотел бы иметь доступ к simpleName моего класса из его сопутствующего объекта. Я хотел бы это: val o1 = Outer("foo") val o2 = Outer("bar") чтобы напечатать следующий вывод: Outer: hello Outer: foo Outer: bar Фактический вариант...
3169 просмотров

Ошибка Databinding TypeConverter в kotlin
Я использую TypeConverter в некоторых привязках данных. Проблема в том, что для этого требуются статические функции, и когда я конвертирую его в Kotlin, он переходит в сопутствующий объект, а процессор привязки данных не может отследить изменение....
614 просмотров

Сопутствующий объект с функцией расширения в котлине?
Я хотел бы иметь функцию расширения и использовать регистратор из kotlin-logging и иметь константы внутри объекта-компаньона . Моя функция: fun String.toFoo(): Foo { logger.debug { "Mapping [$this] to Foo" }...
2053 просмотров

Как скопировать объект-компаньон и внести изменения, не отразив эти изменения на исходном объекте?
Я использую объект-компаньон для временного сохранения некоторых данных. Я мог бы захотеть изменить эти данные, а также я хочу убедиться, что исходный объект не изменяется, когда я вношу изменения. Я пробовал это. companion object{...
281 просмотров

Элементы SoundPool воспроизводятся/не воспроизводятся случайным образом при срабатывании
У меня есть несколько звуков в SoundPool, которые мне нужно воспроизвести. Иногда, когда они должны играть, вместо звука, который должен воспроизводиться, слышен только низкий звук щелчка. Иногда играют нормально. Вот код, который я использую для...
83 просмотров
schedule 07.05.2023

Не удается получить доступ к объекту-компаньону, но можно создать экземпляр класса
У меня есть следующий исходный код: abstract class Foo{ } object Foo{ def foo(f : String) = println(f) } object Tester extends App{ class Bar extends Foo val b = new Bar() Bar.foo("bar") } Когда я пытаюсь запустить это с...
47 просмотров
schedule 14.10.2022

Добавление возвращаемых значений объекта того же класса с использованием перегрузки операторов в C++
В настоящее время я работаю над добавлением возможностей памяти в программу счетчика. Моя программа должна использовать аспекты объектно-ориентированного дизайна, такие как общение и наследование, поэтому я создал два класса: счетчик и...
260 просмотров

Почему частный конструктор все еще виден в классе case?
Я хочу скрыть конструктор в одном классе вместе с его полями и создавать экземпляры только с использованием объекта-компаньона, но я не могу этого добиться. У меня есть scala 2.13.3, основанная на java 8. Вот пример кода: Аскала package X...
211 просмотров

Общая функция Kotlin с ограничением Enum
Я хочу сделать что-то вроде следующего: inline fun<T: Enum<T>> myFunction(enumStr: String){ T.valueOf(enumStr) //... } так что мой общий параметр ограничен типом класса enum, чтобы у меня был доступ к функции valueOf. Я...
86 просмотров
schedule 10.05.2022

Как поместить методы в сопутствующий объект родительского класса, чтобы их можно было унаследовать в дочерних классах?
У меня есть два класса данных, которые очень похожи друг на друга. Я хочу написать родительский класс для них обоих, чтобы они могли наследовать общие функции. Моя проблема в том, что некоторые методы, которые я хочу унаследовать, должны находиться...
22 просмотров