Co to jest typ singleton? jakie są zastosowania, implikacje?Co to jest Singleton Type?
Przykłady są mile widziane, a laika są jeszcze bardziej mile widziane!
Co to jest typ singleton? jakie są zastosowania, implikacje?Co to jest Singleton Type?
Przykłady są mile widziane, a laika są jeszcze bardziej mile widziane!
Jeśli myślisz o typie jako zestaw wartości, typ singleton o wartości x
jest typem, który zawiera tylko tę wartość ({x}
). Przykłady wykorzystania:
pasujące Wzór: case _: Foo.type
sprawdza, czy dopasowane przedmiot jest taki sam jak Foo
użyciu eq
, gdzie case Foo
sprawdza tylko, że jest równy Foo
użyciu equals
.
Jest potrzebne, aby zapisać type object
(jako parametr typu, argument, etc.)
Dla modyfikowalnych obiektów gwarantujących wartość zwracaną przez metodę jest obiektem (użyteczne dla metody łańcuchowym, przykład from here):
class A { def method1: this.type = { ...; this } }
class B extends A { def method2: this.type = { ...; this } }
teraz można nazwać new B.method1.method2
, których nie można było bez this.type
ponieważ method1
wróci A
.
Być może byłbyś na tyle uprzejmy, aby podać kilka przykładów na temat przydatności tego? –
@ ashy_32bit Dodałem kilka przykładów. –
"sprawdza, czy dopasowany obiekt jest taki sam, jak" foo "" - czy miałeś na myśli "to samo co" Foo "? – VasyaNovikov