JavaFX Langage : Les séquences
>> 11 February 2009
Les séquences (sequence) sont un type de JavaFX
- Ce sont des listes ordonnées d'objets, elles sont comme les tableaux d'objets ou array dans Java avec nettement plus de fonctionnalités.
- Les éléments de séquences peuvent être des chaînes de caractères, des integers, classes, etc.
- Les éléments de séquences sont mis entre deux crochets droits [ et ] , séparés par une virgule. Attention de ne pas mettre des espaces entre les virgules et les objets.
- La nature des séquences est soit déduit automatiquement, soit déclarée explicitement :
//chaînes
var jours=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim"];
var jour: String[]=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim "] ;
//Integers
var chiffres=[1,2,3,4,5];
var chiffres2:Integer[]=[1,2,3,4,5];
- Pour les séquences présentant une série arithmétique, la déclaration est très facilitée par la mise de deux points ".." entre le seuil inférieur et supérieur :
var chiffres=[1..100]
- Pour accéder à un élément d'une séquence il suffit d'indiquer son index dans la séquence :
println(jours[0]); // Lun
- Des séquences (Sequence) supportent des opérations très complexes sur leurs contenus.
Exemple Chaînes de caractères 1
/**
* @author ka
*/
var jours=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim"];
println("jours = {jours.toString()}");
Exemple
Chaînes de caractères 2
/*
* test.fx
*
* Created on Feb 8, 2009, 8:10:15 PM
*/
package javafxapplication3;
/**
* @author ka
*/
var jours=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim"];
afficheChaines("jours",jours);
var jours2:String[]=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim"];
afficheChaines("jours2",jours2);
function afficheChaines(description:String, sequence_de_chaines: String[]){
println("----{description}");
for (s in sequence_de_chaines) {
print("{s} ")
}
println("");
}
Exemple Integers
/*
* test.fx
*
* Created on Feb 8, 2009, 8:10:15 PM
*/
package javafxapplication3;
/**
* @author ka
*/
var chiffres=[1,2,3,4,5];
var chiffres2:Integer[]=[1,2,3,4,5];
afficheChiffres("séquence chiffres",chiffres);
afficheChiffres("séquence chiffres",chiffres2);
function afficheChiffres(description:String, sequence_de_chiffres: Integer[]){
println("----{description}");
for (n in sequence_de_chiffres) {
print("{n} ")
}
println("");
}
Step
/**
* @author ka
*/
var range1 = [0..100 step 10]; //pas de 10 croissant
var range2 = [10..0 step -1]; //-1 décroissant
var range3 = [0.0 .. 1.0 step 0.25]; //0.25
println("range1 = {range1.toString()}");
println("range2 = {range2.toString()}");
println("range3 = {range3.toString()}");
Déclarer une séquence comme une partie d'une autre
package javafxapplication3;
/**
* @author ka
*/
var joursSemaine=["Lun","Mar","Mer","Jeu","Ven"];
afficheChaines("jours de la semaine",joursSemaine);
var weekEnd:String[]=["Sam","Dim"];
afficheChaines("Week end",weekEnd);
var jours=[joursSemaine,weekEnd];
afficheChaines("jours",jours);
var jours2=[joursSemaine,["Sam","Dim"]];
afficheChaines("jours2",jours2);
function afficheChaines(description:String, sequence_de_chaines: String[]){
println("----{description}");
for (s in sequence_de_chaines) {
print("{s} ")
}
println("");
}
Sequence Slices = portions d'une séquence
Avec cette technique, il est possible d'obtenir des portions de séquences
seq[elem1..elem2] Les élément entre elem1 et elem2
var jours=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim"];
var weekEnd=jours[5..6];
seq[elem1..
var jourOuvres=jours[0..<5];
seq[elem1..] Tous les élément à partir de " elem1 "
var weekEnd2=jours[5..];
seq[elem1..<] Tous les élément à partir de " elem1 ", sauf le dernier élément
var joursSansDim=jours[0..<];
package javafxapplication3;
/**
* @author ka
*/
var jours=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim"];
afficheChaines("jours de la semaine",jours);
var weekEnd=jours[5..6];
afficheChaines("Week end",weekEnd);
var jourOuvres=jours[0..<5];
afficheChaines("Jours ouvrés",jourOuvres);
var weekEnd2=jours[5..];
afficheChaines("Week end 2",weekEnd2);
var joursSansDim=jours[0..<];
afficheChaines("Semaine sans dimanche",joursSansDim);
function afficheChaines(description:String, sequence_de_chaines: String[]){
println("----{description}");
for (s in sequence_de_chaines) {
print("{s} ")
}
println("");
}
Obtenir une partie d'une séquence avec condition (Predicate)
Il est possible d'obtenir une partie d'une séquence avec une condition et déclarer une nouvelle séquence avec cette partie
package javafxapplication3;
/**
* @author ka
*/
var seq1=[1..6];
//mets dans seq2, tous les éléments de seq1 dont la valeur est moins que trois
var seq2=seq1[n|n<3]; //variable et condition
afficherChiffres("seq1",seq1);
afficherChiffres("seq2",seq2);
function afficherChiffres(description:String, num_sequence: Integer[]){
println("----{description}");
for (n in num_sequence) {
print("{n} ")
}
println("");
}
Predicate 2
/**
* @author ka
*/
var jours=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim"];
var joursAvecM=jours[s|s.startsWith("M")];
println("Jours qui commence avec M = {joursAvecM.toString()}");
sizeof
Pour obtenir la taille d'une séquence
package javafxapplication3;
/**
* @author ka
*/
var jours=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim"];
println(sizeof jours);
println("Jour de la semaine = {sizeof(jours)}");
Comparer des séquences
var jours1=["Lun","Mar","Mer","Jeu","Ven"];
afficheChaines("jours1",jours1);
var jours2=["Lun","Mar","Mer","Jeu","Ven"];
afficheChaines("jours2",jours2);
println("Les séquences jours1 et jours2 sont équivalent -> {jours1==jours2}");
print("jours1==jours2 -> ");
println(jours1==jours2);
function afficheChaines(description:String, sequence_de_chaines: String[]){
println("----{description}");
for (s in sequence_de_chaines) {
print("{s} ")
}
println("");
}
Insert
Permet d'insérer un élémént A la fin de la séquence
Ou en un endroit donné
package javafxapplication3;
/**
* @author ka
*/
var chiffres=[1,2,3,4,5];
afficheChiffres("séquence chiffres",chiffres);
insert 6 into chiffres;
afficheChiffres("séquence chiffres après insert 6",chiffres);
insert 7 after chiffres[2];
afficheChiffres("séquence chiffres insert 7 après le 2ème element",chiffres);
insert 7 before chiffres[3];
afficheChiffres("séquence chiffres insert 7 avant le 3ème element",chiffres);
function afficheChiffres(description:String, sequence_de_chiffres: Integer[]){
println("----{description}");
for (n in sequence_de_chiffres) {
print("{n} ")
}
println("");
}
Delete pour supprimer un élément/éléments
package javafxapplication3;
/**
* @author ka
*/
var joursSemaine=["Lun","Mar","Mer","Jeu","Ven"];
afficheChaines("jours de la semaine",joursSemaine);
delete "Lun" from joursSemaine;
afficheChaines("jours de la semaine moins Lun",joursSemaine);
//autre delete, supprime Mar
delete joursSemaine[0];
afficheChaines("jours de la semaine moins Lun et Mar",joursSemaine);
joursSemaine=["Lun","Mar","Mer","Jeu","Ven"];
delete joursSemaine[0..2];
afficheChaines("delete avec slicing",joursSemaine);
//supprimer tous les éléments
delete joursSemaine;
afficheChaines("Séquence sans élément",joursSemaine);
function afficheChaines(description:String, sequence_de_chaines: String[]){
println("----{description}");
for (s in sequence_de_chaines) {
print("{s} ")
}
println("");
}
reverse mettre les séquences à l'inverse
package javafxapplication3;
/**
* @author ka
*/
var joursSemaine=["Lun","Mar","Mer","Jeu","Ven"];
afficheChaines("jours de la semaine",joursSemaine);
var joursInverses=reverse joursSemaine;
afficheChaines("joursInversés",joursInverses);
var chiffres=[1..10];
var chiffresInverses=reverse chiffres;
afficheChiffres("chiffres ordre inversée",chiffresInverses);
function afficheChaines(description:String, sequence_de_chaines: String[]){
println("----{description}");
for (s in sequence_de_chaines) {
print("{s} ")
}
println("");
}
function afficheChiffres(description:String, sequence_de_chiffres: Integer[]){
println("----{description}");
for (n in sequence_de_chiffres) {
print("{n} ")
}
println("");
}
0 comments:
Post a Comment