2016-03-23 7 views
1

Ich habe zwei Methoden auf meinem Begleiter Objekt (model.Product):Scaladoc Link zu einer anderen Methode

def apply(p:ProductSyntax)(rs: WrappedResultSet): Product 
def apply(p: ResultName[Product])(rs: WrappedResultSet): Product 

Die erste Methode Delegierten die zweiten und ich würde die gerne in der Dokumentation anzuzeigen. Ich habe versucht, mit:

/** 
* delegates to [[apply]] 
*/

Aber scaladoc beschwert sich, dass diese nicht eindeutig ist, aber sagt mir, dass

(p: scalikejdbc.ResultName[model.Product])(rs: scalikejdbc.WrappedResultSet): model.Product in object Product 

eine Option

Jedoch habe ich nicht herausfinden können, wie scaladoc zu sagen, dies zu nutzen Methode. Ich habe versucht,

/** 
* Delegates to [[apply(scalikejdbc.ResultName[model.Product])(scalikejdbc.WrappedResultSet):model.Product]] 
*/

Aber es sagt mir, dass kein Mitglied gefunden:

Could not find any member to link for "apply(scalikejdbc.ResultName[model.Product])(scalikejdbc.WrappedResultSet):model.Product". 

Wie würde ich einen Link zu der def apply(p: ResultName[Product])(rs: WrappedResultSet): Product Methode hinzufügen?

+0

versuchen, die Punkte zu entkommen: '[[gelten (p: scalikejdbc \ .ResultName [model \ .Product]) (rs: scalikejdbc \ .WrappedResultSet): Modell \ .Product $]]'. Im Allgemeinen muss alles, was kein Mitglied Ihres Objekts ist, vollständig qualifiziert werden und Sie benötigen am Ende ein $, um das Ende der Signatur zu markieren. –

+0

Leider bekomme ich den gleichen Fehler: Es konnte kein Mitglied für "apply (p: scalikejdbc.ResultName [model \ .Product]) (rs: scalikejdbc \ .WrappedResul tSet) gefunden werden: model \ .Product $". –

Antwort

1

Also das ist, was ich entdeckt:

  1. Alles muss vollständig qualifiziert sein, auch die Klasse/Objekt selbst

  2. Paket Punkte mit \

  3. entgangen sein sollte können Sie nicht verwenden Alle Leerzeichen in der Signatur

  4. Paramater sollten den Namen nicht nur den Typ enthalten, zB foo (a: String) Foo (String nicht)

  5. Die Signatur mit *

Schließlich dies gearbeitet enden sollte:

[[apply(p:scalikejdbc\.ResultName[model\.Product])(rs:scalikejdbc\.WrappedResultSet):model\.Product*]] 

JEDOCH ... der Backslash und * erscheint auch in der generierten html!

Generated html for the scaladoc

+0

ah, ich vermutete, dass Sie das Objekt hinzufügen müssen. Sie können die Verknüpfung jedoch verschönern, indem Sie nach der Signatur ein Label angeben, das durch ein Leerzeichen getrennt ist: '[[apply (p: scalikejdbc \ .ResultName [model \ .Product]) (rs: scalikejdbc \ .WrappedResultSet): model \. Produkt * anwenden (ResultName [Produkt]): Produkt]] '. Allerdings musst du dort vielleicht auch den Dingen entkommen. –

+0

Ich möchte meine völlige Enttäuschung über Scaladoc ausdrücken. So etwas meidet gute Dokumentation. –

Verwandte Themen