Ich möchte eine Art an Alias:Zugang Felder eines aliased Typ in Scala
type T = Int
Gibt es eine Möglichkeit, dass ich dies später tun könnte?
T.MaxValue
Ich möchte eine Art an Alias:Zugang Felder eines aliased Typ in Scala
type T = Int
Gibt es eine Möglichkeit, dass ich dies später tun könnte?
T.MaxValue
Nein, es gibt keine Möglichkeit, dies zu tun. Wenn Sie Int.MaxValue
sagen, du bist ein statisches Feld des Objekts Int Zugriff:
object Int extends AnyValCompanion {
...
final val MaxValue = java.lang.Integer.MAX_VALUE
...
}
Wenn Sie einen Typ mit type T = Int
binden, sind Sie nur den Typ vererben, so dass Sie das Objekt nicht bekommen, als auch . Sie können jedoch folgendes tun:
scala> val t = Int
t: Int.type = object scala.Int
scala> t.MaxValue
res2: Int = 2147483647
Oder 'val T = Int'. Und Sie können sowohl "val T" als auch "type T" gleichzeitig haben. –
'MaxValue' ist eine in _object_' Int' definierte Methode, sie hat nichts mit _type_ 'Int' zu tun. –
Sie meinen 'val T = Int'. –
[Diese Frage] (http://stackoverflow.com/questions/33112637/access-to-a-types-companion-object), und ihre Antwort, könnte eine Hilfe sein. – jwvh