Premier et dernier set d'un tableau : first, last

Avis aux gratteurs

Suite aux violations répétées de la part de certains utilisateurs, nous avons pris la décision de ne pas couvrir les futures générations de thèmes Blogger tant que des copies illégales du contenu de ce blog existeront.

Blogger - First and last set of the array

Les termes first et last sont des suffixes que l'on ajoute aux tableaux de données Blogger pour obtenir le premier ou le dernier set de ce tableau.



Définition

Les réglages first et last ont la même vocation. Ils filtrent un tableau en ne récupérant qu'un seul set : Le premier ou le dernier set.

Le tableau étant considéré jusque là comme étant array, devient alors le type enfant de ce tableau :

  • array[array] devient array.

  • array[object] devient object.

  • array[string] devient string.

  • array[boolean] devient boolean.

  • array[number] devient number.

  • etc...

Ce qui signifie, que la nouvelle valeur n'est plus obligée d'être traitée à l'intérieur d'une boucle (excepté si le set enfant est un tableau).

Explorateur de données Blogger - Les array

En théorie, les paramètres first et last sont des filtres renfermés dans un objet et qui renvoient une nouvelle valeur :

Échantillonnage des ressources

  first:  Child type of the array ,
  last:  Child type of the array 

En pratique, dans l'éditeur XML du thème, les réglages s'ajoutent au nom du tableau array :

Syntaxes de sortie

<!-- first -->
data:array.first

<!-- last -->
data:array.last

Exemple avec le tableau universel data:widgets. Ce tableau est de type array[Object]. En appliquant l'un des réglages, il deviendra object :

<!-- first -->
<data:widgets.first.id/>

<!-- last -->
<data:widgets.last.id/>

Ces réglages peuvent également s'ajouter à la suite d'une opération qui est encadrée de parenthèses dont le résultat est de type array :

<!-- first -->
<b:eval expr='(data:widgets where (w => w.type == "HTML")).first.id'/>

<!-- last -->
<b:eval expr='(data:widgets where (w => w.type == "HTML")).last.id'/>


Blogger Humour - Annonce des gagnantes du concours de Miss Smiley.


Quelques exemples

Filtrer dans un alias

<b:with value='data:posts.first' var='post'>

  <a expr:href='data:post.url'>
    <b:eval expr='data:post.title'/>
  </a>

</b:with>

data:posts étant array[Object], la nouvelle valeur devient object ne contenant que les items du premier set.

Extraction explicite des items de l'objet

<a expr:href='data:posts.last.url'>
  <b:eval expr='data:posts.last.title'/>
</a>

data:posts.last étant devenu un objet, les noms des items peuvent être ajouté directement à la suite de la donnée.

Exemple avec un tableau de nombres

<b:with value='[10,25,60,12,6].first' var='number'>

    <b:eval expr='data:number'/>

</b:with>

La valeur de data:number sera 10.

Exemple avec une opération lambda

<img expr:src='(data:posts map (p => p.featuredImage)).last'/>

data:posts est d'abord filtré par un lambda pour devenir array[image]. En ajoutant le suffixe last à la suite de l'opération, la valeur finale sera une donnée de type image. Dans ce cas-ci, l'image du dernier post.



Les autres réglages de données

Spotlight

Populaires cette semaine

Le fichier XML du gadget FeaturedPost