2010-12-07 48 views
1

L'infrastructure d'ascenseur fournit un Easy way pour définir un plan Sitemap.Utilisation de l'opérateur de point d'interrogation dans l'ascenseur

Je ne comprends pas très bien l'exemple qu'il fournit. que signifie ? et / dans l'extrait de code suivant?

def siteMap() = SiteMap(Menu(S ? "Home")/"index") 
+0

Vous pouvez modifier votre question pour indiquer que cela est une question de levage - scala ne pas les opérateurs en soi , et le ? est juste un appel de méthode, donc ce que cela signifie dépend entièrement du contexte - dans ce cas, celui de Lift SiteMap. – Submonoid

+0

Oui, j'ai modifié. – Sawyer

Répondre

1

Les deux? et/voici des méthodes.

/** 
    * Get a localized string or return the original string. 
    * 
    * @param str the string to localize 
    * 
    * @return the localized version of the string 
    * 
    * @see # resourceBundles 
    */ 
    def ?(str: String): String = ?!(str, resourceBundles) 

constructeur Menu retourne un type PreMenu, la méthode / définie dans PreMenu

/** 
* The method to add a path element to the URL representing this menu item 
*/ 
def /(pathElement: String): Menuable with WithSlash = 
    new Menuable(name, linkText, pathElement :: Nil, false, Nil, Nil) with WithSlash 
0

Je ne sais rien à propos de Lift, mais en regardant le ScalaDoc for S il est clair que S ? str retourne une propriété de localisation (vérifiez this pour plus sur la localisation) ou en cas de ne pas trouver la propriété de la chaîne elle-même.