1
Я изучаю Scala, и я исхожу из C++ (очень мало опыта Java). Там, где я работаю, мы часто используем следующую схему:Вложенные классы C++ в Scala
class SomeClass {
public:
class Options {
...
};
SomeClass(const Options& options);
...
};
int main() {
SomeClass::Options options;
options.a = ...;
...
SomeClass* sc = new SomeClass(options);
}
Как эмулировать это в Scala?
Если есть много вариантов, вы можете даже использовать именованные параметры, чтобы сделать его более понятным. – aioobe
@aioobe: спасибо, добавил его к моему ответу –
Хм, выглядит немного хак-иш. Предположим, у меня есть класс (SomeClass) и куча связанных вспомогательных классов, которые имеют смысл только в контексте 'SomeClass' (например,' Options' в моем примере). В C++ я мог бы вложить все связанные вспомогательные классы или ввести что-то вроде пространства 'detail' /' internal'. Каков предпочтительный способ сделать это в Scala? Обратите внимание, что отношение между некоторыми классами и классом, а не экземпляр этого класса, поэтому я не требую/хочу зависимых типов здесь. – Jasiu