Bonjour,
A-t'on la garantie que struct2cell() et fieldnames() renvoient les champs dans le même ordre ?
Merci d'avance
Bonjour,
A-t'on la garantie que struct2cell() et fieldnames() renvoient les champs dans le même ordre ?
Merci d'avance
Le code source de ces deux fonctions n'est pas disponible.
La documentation ne dit rien à ce sujet.
J'en conclu par défaut, que rien ne garanti l'ordre des champs.
Soit tu testes avec les données propres à ton problème, soit tu forces l'ordre des champs après l'usage de ces deux fonctions avec ORDERFIELDS (par exemple)
Sinon, tu peux toujours contacter le support de MathWorks
Ingénieur indépendant en mécatronique - Conseil, conception et formation
- Conception mécanique (Autodesk Fusion 360)
- Impression 3D (Ultimaker)
- Développement informatique (Python, MATLAB, C)
- Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)
« J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)
Merci Dut ! C'est bien ce que je craignais.
Bonjour,
D'après mon expérience (ca vaut ce que ca vaut...), l'ordre était toujours le même quand j'ai utilisé ces fonctions.
Duf
Simulink & Embedded Coder
Au boulot : Windows 7 , MATLAB r2016b
A la maison : ArchLinux mais pas MATLAB
Merci Duf42
J'ai remarqué la même chose sur quelques essais, mais ça ne garantit rien
Je me dis que s'ils l'ont pas documenté, ça risque de casser dans une prochaine release.
Dans le code source de orderfields(), on trouve l'utilisation jointe de struct2cell et de fieldnames. En particulier, l'output de struct2cell est sorté (ligne 91) avec une permutation issue de sort(fieldnames()) (ligne46).
J'en conclus que l'ordre est toujours cohérent !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager