J'écris actuellement une fonction dans Erlang, qui nécessite des binaires qui n'ont pas de zéros de fin. En raison de la mise en œuvre, et d'autres entrées, les éléments qui seront retournés auront des zéros de fin.Bande de fin de queue dans un binaire dans Erlang
En d'autres termes, je vais avoir des choses telles que:
<<1,2,3,0,0>>
et <<3,1,0,2,4,5,0,0,2,3,4,0,0,0,0,0>>
Pour ce qui précède, je dois obtenir:
<<1,2,3>>
et <<3,1,0,2,4,5,0,0,2,3,4>>
Zéros avant la les zéros continus à la fin doivent être conservés.
Si quelqu'un pouvait donner une solution, ce serait grandement apprécié. Je vous remercie!
Merci, ce * fait * travail. – caluga
Aussi, je compris que je pouvais utiliser aussi ceci: garniture (A) -> \t cas binaire: à (A, byte_size (A) - 1) == 0 \t \t vrai -> trim (binaire: partie (A, {0, octet_size (A) -1})); \t \t false -> A \t fin. Ce qui signifie pas besoin de convertir en liste et retour. Quoi qu'il en soit, tout est résolu, merci! – caluga
C'est vrai, mais votre manière fait aussi beaucoup d'opérations inutiles et crée beaucoup d'ordures qui doivent être nettoyées. Tant que les binaires avec lesquels vous traitez sont petits et n'ont pas beaucoup de 0, tout ira bien, mais vous avez vraiment besoin de profiler les deux façons avec des données réelles avant de les mettre dans un vrai système. Btw, votre chemin échoue également sur les binaires vides ou les binaires contenant tous les 0. –