trabajo planificador palabras keywords investigacion insercion gratis google dinamica claves clave analisis adwords scala

scala - keywords - planificador de palabras clave google gratis



Scala con el uso de palabras clave (2)

Encontré un ejemplo simple:

class Post extends LongKeyedMapper[Post] with IdPK { def getSingleton = Post object title extends MappedText(this) object text extends MappedText(this) object date extends MappedDate(this) } object Post extends Post with LongKeyedMetaMapper[Post] { def getPosts(startAt: Int, count: Int) = { Post.findAll(OrderBy(Post.date, Descending), StartAt(startAt), MaxRows(count)) } def getPostsCount = Post.count }

¿Qué significa with IdPK ?

Gracias.


Si bien esta no es una respuesta directa a la pregunta original, puede ser útil para futuros lectores. De la Wikipedia :

Scala permite mezclar un rasgo (crear un tipo anónimo) al crear una nueva instancia de una clase.

Esto significa que with es utilizable fuera de la línea superior de una definición de clase. Ejemplo:

trait Swim { def swim = println("Swimming!") } class Person val p1 = new Person // A Person who can''t swim val p2 = new Person with Swim // A Person who can swim

p2 aquí tiene el método swim disponible, mientras que p1 no. El tipo real de p2 es "anónimo", es decir, Person with Swim . De hecho, with sintaxis se puede utilizar en cualquier tipo de firma:

def swimThemAll(ps: Seq[Person with Swim]): Unit = { ps.foreach(_.swim) }

EDITAR (12 de octubre de 2016): hemos descubierto una peculiaridad. Lo siguiente no compilará:

// each `x` has no swim method def swim(xs: Seq[_ >: Person with Swim]): Unit = { xs.foreach(_.swim) }

Lo que significa que en términos de precedencia léxica, se une with entusiasmo. Es _ >: (Person with Swim) , no (_ >: Person) with Swim .