Вопросы по теме 'companion-object'
Сопутствующий объект не может получить доступ к частной переменной в классе
Довольно странное поведение, исходящее от Scala REPL.
Хотя следующее компилируется без проблем:
class CompanionObjectTest {
private val x = 3
}
object CompanionObjectTest {
def testMethod(y:CompanionObjectTest) = y.x + 3
}
закрытая...
3399 просмотров
schedule
10.12.2022
Применить к сопутствующему объекту к типу с псевдонимом
Я хочу сделать свой код Scala более читабельным, поэтому я добавил пользовательские типы для всех параметризованных типов.
Итак, у меня есть объект пакета, для простоты,
type IntSeq = Seq[Int]
Однако сейчас я не могу делать простые apply...
847 просмотров
schedule
03.06.2022
Как говорить о сопутствующих объектах и обычных объектах?
Я впервые преподаю Scala, и мои ученики находят намеренное «каламбур», связанное с объектами-компаньонами, очень запутанным. Рассмотрим следующий пример:
class Stack {
... methods such as push/pop
}
object Stack {
... factory method(s) and...
1697 просмотров
schedule
06.03.2022
Переопределение значений объекта-компаньона и Scala MatchError
Может ли кто-нибудь пояснить, почему следующий код вызывает ошибку MatchError? Что означает MatchError в этом случае?
class A {
def g = A.f
}
object A {
val f = "Object A"
}
class B extends A {
override val A.f = "Object B"
}
val b =...
3973 просмотров
schedule
18.08.2023
Когда неявное импортируется из сопутствующего объекта?
Я знаю, что это уже сотый вопрос о неявных/сопутствующих объектах. Однако этот случай я пока нигде не нашел.
Почему в «Tryout» A не нужен импорт для неявного класса, а B он нужен? Спасибо.
class LongConsumer {
def consume(l: Long) = Unit...
184 просмотров
schedule
09.05.2022
Шаблон проектирования Factory в Scala с case-классами
Я пытаюсь реализовать шаблон проектирования factory в Scala, используя методы применения, доступные для объекта-компаньона. У меня следующий подход.
sealed trait MyType {
def param: String
}
case class TypeA(param: String) extends MyType
case...
3845 просмотров
schedule
24.08.2022
Доступ к объекту внутри объекта-компаньона в scala
У меня есть следующее:
case class Location(name: String, level: Location.Level)
object Location {
trait Level
case object City extends Level
case object State extends Level
}
Если я попытаюсь получить доступ к City (из другого...
75 просмотров
schedule
30.09.2022
Может ли трейт гарантировать, что он будет унаследован сопутствующим объектом во время компиляции или выполнения?
У меня есть трейт, для которого инициализация не по своей сути потокобезопасна, но предназначена исключительно для использования в качестве основы для сопутствующих объектов, для которых инициализация является потокобезопасной за счет...
100 просмотров
schedule
06.10.2022
Избегайте повторяющихся псевдонимов типов в классе Scala и сопутствующем объекте.
Я новичок в Scala, и у меня есть программа Scala с классом и сопутствующим объектом, и я хочу использовать псевдоним типа, который используется:
Определить методы класса.
Также я хочу использовать псевдоним вне класса. Для этого я считаю...
333 просмотров
schedule
25.12.2022
Неявное разрешение для разных порядков класса дела и компаньона
Обычно я пишу сначала case class , а затем сопутствующий object в том же файле, прямо под ним. Но при попытке импортировать implicit , объявленный в компаньоне, я вынужден изменить порядок объявления (и, очевидно, не хочу). Какова рекомендуемая...
346 просмотров
schedule
24.12.2022
Как отказаться от сопутствующего объекта класса case?
Я заметил, что если класс case устарел, его сопутствующий объект — нет.
scala> @deprecated case class A(x: Int)
warning: there was one deprecation warning; re-run with -deprecation for details
defined class A
scala> A(0)
res0: A = A(0)...
230 просмотров
schedule
23.08.2023
Почему я не вижу компонент объекта-компаньона расширенного класса?
У меня есть абстрактный класс:
abstract class Vec2t
и расширяющий класс:
class Vec2 : Vec2t
Vec2t имеет следующий сопутствующий объект :
companion object {
@JvmField val length = 2
}
Но когда я набираю...
373 просмотров
schedule
28.01.2023
Scala Сопутствующий объект Vs. Новый объект класса Scala
Вот код и результат:
//A scala class with a private variable and one method
class A {
private var a1 = "Zoom"
def A1(): Unit = {
println("A1 Class")
}
}
//A companion object
object A {
def A2(): Unit = {
println("A1 Obj")
val...
237 просмотров
schedule
24.07.2022
В scala, как я могу выбрать между классом + сопутствующим объектом и только объектом
Я не уверен, следует ли мне выбрать класс с сопутствующим объектом в scala вместо использования только объекта. Я просто хочу использовать объект в любом случае, но только потому, что мне нужен только один экземпляр класса. С другой стороны, я...
189 просмотров
schedule
24.03.2022
автоматически генерировать объект дела для класса дела
Как сделать так, чтобы компилятор scala автоматически генерировал объект case?
// Pizza class
class Pizza (val crust_type: String)
// companion object
object Pizza {
val crustType = "crust_type"
}
Желаемые свойства для объекта case...
717 просмотров
schedule
22.04.2024
Scala изменяет параметры функции, определенной в трейте
Поскольку я нигде не нашел решения своей проблемы, я думаю, что, возможно, думаю в очень неправильном направлении.
Вот моя проблема: у меня есть черта A и другая черта B и сопутствующие объекты AB1, AB2, AB3 и так далее. Одноэлементные объекты...
627 просмотров
schedule
29.05.2022
Kotlin Companion Object имеет значение null при ссылке
Не уверен, правильно ли я использую этот объект-компаньон.
Класс данных:
data class AppModel(
val name: String,
val items: List<ItemModel>,
)
Установите данные:
open class PathManager() {
companion object {...
1696 просмотров
schedule
05.03.2023
Невозможно вызвать использование имени класса напрямую для типа карты после добавления сопутствующего проекта
Когда у нас есть класс case, мы вызываем map тип с именем типа, например:
case class Foo(value: String)
val value = Some("Yay!")
val foo = value.map(Foo)
Но если мы также предоставим сопутствующий объект, он перестанет работать...
47 просмотров
schedule
04.04.2022