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

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.



Spotlight

Populaires cette semaine