|
Home → WINDEV 2024 → Manière idiomatique d’obtenir le dernier élément d’un tableau |
Manière idiomatique d’obtenir le dernier élément d’un tableau |
Started by msg, Sep., 17 2020 5:26 PM - 11 replies |
| |
| | | |
|
| |
Posted on September, 17 2020 - 5:26 PM |
Bonjour,
Découvrant Windew et le Wlangage, je cherche à connaître la manière idiomatique de récupérer le dernier élément d’un tableau.
Ceci fonctionne:
exemple[exemple.Occurrence()]
Mai pour une fonction aussi basique, peut-être existe-il quelque chose de plus laconique ? « exemple[-1] » ou « exemple.dernier » ne semblent pas être des options fonctionnels. Existe-t-il autre chose ?
Par avance merci |
| |
| |
| | | |
|
| | |
| |
Registered member 3,891 messages Popularité : +227 (347 votes) |
|
Posted on September, 17 2020 - 5:47 PM |
Bonjour, Si tu parles d'une variable Tableau : [code] tabMonTableau[tabMonTableau.Occurence()] [
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Registered member 1,144 messages Popularité : +50 (142 votes) |
|
Posted on September, 17 2020 - 10:27 PM |
| |
| |
| | | |
|
| | |
| |
Posted on September, 18 2020 - 10:06 AM |
Bonjour, merci Voroltinquo et Thierry pour vos réponses.
Oui, c’est bien un tableau auquel je fais référence.
Donc ceci donne bien le résultat attendu :
tabMonTableau[tabMonTableau.Occurence()]
Par contre, je suis un peu étonné de la verbosité d’une fonctionnalité aussi courante pour les algorithmes.
À défaut d’une fonctionnalité de base, est-il possible d’étendre les méthodes de la structure des tableaux, pour obtenir la possibilité d’écrire quelque chose comme :
tabMonTableau.dernier() |
| |
| |
| | | |
|
| | |
| |
Registered member 1,144 messages Popularité : +50 (142 votes) |
|
Posted on September, 20 2020 - 12:24 AM |
| |
| |
| | | |
|
| | |
| |
Registered member 3,891 messages Popularité : +227 (347 votes) |
|
Posted on September, 20 2020 - 10:24 AM |
msg a écrit :
Par contre, je suis un peu étonné de la verbosité d’une fonctionnalité aussi courante pour les algorithmes.
Dans un algorithme, la plupart du temps, le dernier indice est traité comme un autre, c'est ce qui se passe après sont traitement qui diffère. Par ailleurs, on n'a qu'une fonction, quel que soit le type de variable. C'est quand même plus simple que :
MonTableau[(siszeof(MonTableau)/sizeof(*MonTableau))-1] .... et encore, cela ne te donne que l'indice max
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Registered member 329 messages Popularité : +28 (32 votes) |
|
Posted on September, 20 2020 - 11:14 AM |
N’empêche que parcourir l’index courant d’un tableau avec des .premier .suivant .précédent et .dernier me semblerai plus pratique, je suis même surpris que PCSOFT, ne l’ai jamais implémenté !
-- ——————————————————————————————————— Ce qui se conçoit bien se code clairement et se débogue facilement...
- Pastiche d’une citation de Nicolas Boileau - |
| |
| |
| | | |
|
| | |
| |
Registered member 3,891 messages Popularité : +227 (347 votes) |
|
Posted on September, 20 2020 - 11:26 AM |
Connais-tu un langage qui le fait ?
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Registered member 3,891 messages Popularité : +227 (347 votes) |
|
Posted on September, 20 2020 - 11:31 AM |
Après rien ne t’empêche de créer une classe qui le fait ....
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Registered member 190 messages Popularité : +21 (23 votes) |
|
Posted on September, 20 2020 - 8:24 PM |
Bonjour
oui une syntaxe comme en python ce serait pas mal: a[-1] renvoie le dernier élément du tableau a a[-2] l'avant dernier
bien pratique à l'usage |
| |
| |
| | | |
|
| | |
| |
Posted on September, 22 2020 - 10:47 AM |
// C# [1, 2, 3].Last()
// Julia last([1, 2, 3])
// Ruby [1, 2, 3].last
Liste non exhaustive,évidemment. La plupart des langages populaires offrent un équivalent, parfois via une fonction/méthode d’un nom un peu différent (end, slice, tail…), potentiellement à instruire d’un paramètre idoine (1, -1…). Parfois ces mécanismes ne sont pas accessibles sur des tableau statiques (d’ailleurs je n’ai pas vérifié pour C#). |
| |
| |
| | | |
|
| | |
| |
Posted on September, 22 2020 - 10:52 AM |
Je n’ai pas encore vu la manière de structurer les classes en Wlangage. Est-ce que la classe tableau (si cette structure est implémenté comme une classe) peut être étendu en y rajoutant une méthode "dernier" ? Si oui, comment ? Si non, est-ce qu’une classe peut être dérivé de la structure "tableau" en héritant de toutes ses propriétés et en y ajoutant cette méthode, et dans ce cas comment s’y prendre ? |
| |
| |
| | | |
|
| | | | |
| | |
|