|
Manière idiomatique d’obtenir le dernier élément d’un tableau |
Iniciado por msg, set., 17 2020 5:26 PM - 11 respostas |
| |
| | | |
|
| |
Publicado em setembro, 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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.845 mensagems Popularité : +227 (347 votes) |
|
Publicado em setembro, 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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 1.143 mensagems Popularité : +50 (142 votes) |
|
Publicado em setembro, 17 2020 - 10:27 PM |
| |
| |
| | | |
|
| | |
| |
Publicado em setembro, 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() |
| |
| |
| | | |
|
| | |
| |
Membro registado 1.143 mensagems Popularité : +50 (142 votes) |
|
Publicado em setembro, 20 2020 - 12:24 AM |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.845 mensagems Popularité : +227 (347 votes) |
|
Publicado em setembro, 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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 329 mensagems Popularité : +28 (32 votes) |
|
Publicado em setembro, 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 - |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.845 mensagems Popularité : +227 (347 votes) |
|
Publicado em setembro, 20 2020 - 11:26 AM |
Connais-tu un langage qui le fait ?
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.845 mensagems Popularité : +227 (347 votes) |
|
Publicado em setembro, 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 |
| |
| |
| | | |
|
| | |
| |
Membro registado 190 mensagems Popularité : +21 (23 votes) |
|
Publicado em setembro, 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 |
| |
| |
| | | |
|
| | |
| |
Publicado em setembro, 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#). |
| |
| |
| | | |
|
| | |
| |
Publicado em setembro, 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 ? |
| |
| |
| | | |
|
| | | | |
| | |
|