String Builder
Simple texts with StringBuilder

Si vous devez combiner 2 string dans un même texte, rien de plus simple:
const t1 = 'Hello';
const t2 = 'World';
const result = t1 + ' ' + t2;Mais si les textes sont des functions T( ), cela se complique. Vous ne pouvez
pas faire ceci:
const t1 = T('Hello');
const t2 = T('World');
const result = t1 + ' ' + t2;Warning
t1 et t2 sont des fonctions. Il est donc évident
qu’on ne peut pas construire la string ainsi!
Pour cela, il faut utilser StringBuilder, et écrire:
import StringBuilder from 'goblin-nabu/lib/string-builder.js';
const t1 = T('Hello');
const t2 = T('World');
const result = StringBuilder.combine(t1, ' ', t2);StringBuilder
Si nous voulons construire la description d’une personne à partir de son prénom et de son nom, on peut être tenté d’écrire:
function getName(firstName, lastName) {
return firstName + ' ' + lastName;
}Mais il y a un problème si le prénom et/ou le nom n’existent pas:
firstName and lastName |
Result |
|---|---|
"John", "Difool" |
“John Difool” (perfect) |
"", "Difool" |
" Difool" (problem, there is a space in front of the name) |
null, "Difool" |
" Difool" (problem, there is a space in front of the name) |
"John", "" |
“John " (problem, there is a space after the name) |
"John", null |
“John " (problem, there is a space after the name) |
Heureusement, StringBuilder a ce qu’il faut:
function getName(firstName, lastName) {
return StringBuilder.joinWords(firstName, lastName);
}Cette function accepte également un tableau:
const array = ["It's", 'magic!'];
const text = StringBuilder.joinWords(array);Info
joinWords fonctionne bien entendu avec des string ou des
fonctions T( ).
Info
Il existe plusieurs autres fonctions utiles pour appondre
des textes. Citons joinSentences, joinHyphen et joinLines. Quant à lui,
join permet de choisir le séparateur.
Summary
| Function | Action |
|---|---|
joinWords |
Appends several texts, separated by spaces. |
joinSentences |
Appends several texts, separated by commas and spaces (", "). |
joinHyphen |
Appends several texts, separated by hyphens (U+2014). |
joinLines |
Appends several lines. |
join |
Appends several texts, with a separator of your choice. |
combine |
Appends sevral texts as is. |
Note
StringBuilder est une classe statique. Il n’est donc pas
nécessaire de l’instancier.