0
Есть Any, AnyVal (AnyRef - это просто псевдоним типа), Unit, Null, Nothing, Singleton. Что-нибудь еще?Какие синтетические типы определены языком scala?
Есть Any, AnyVal (AnyRef - это просто псевдоним типа), Unit, Null, Nothing, Singleton. Что-нибудь еще?Какие синтетические типы определены языком scala?
Основываясь на ваших примерах вы могли бы искать для этой диаграммы
http://docs.scala-lang.org/tutorials/tour/unified-types.html
'scala.Singleton' действительно существует. Каждый объект Singleton автоматически расширяет его. См. Http://www.scala-lang.org/files/archive/spec/2.11/03-types.html#singleton-types (хотя спецификация довольно расплывчата об этом). –
Не знал этого, спасибо. 'val o: Singleton = SomeSingletonObject' действительно работает, хотя я не могу найти какое-либо слово« Singleton »в источниках scala, любую идею, где он определен? –
Эта диаграмма, которую я знаю :) Тем не менее, в последнее время я столкнулся с Синглтоном и задавался вопросом, есть ли еще что-то, о чем я не знал. Синглтон - чисто синтетический тип, он не является расширенным признаком; скорее, o.type <: Singleton для любого объекта o, аналогично (t: T). Член <: T # Member, и он полезен именно в этом контексте. Требовав, чтобы T <: Singleton, я знаю, что два вышеупомянутых типа всегда равны, что в противном случае требовало бы синтетического литья. – Turin