compact
El método compact es un método objeto que elimina los ceros a la izquierda del código de error en formao Array o String. Cuando a éste se le envía el formato Integer, éste retornará el mismo pues los valores numéricos enteros no tienen dicha propiedad.
- typepy
- characters474
- lines20
#!/usr/bin/env python # -*- coding: utf-8 -*- from Assets.ErrorsManager import ErrorsManager errors_manager:ErrorsManager = ErrorsManager() value:int|str|list[int] for i, value in enumerate((105, "pBAA", [41, 1, 0, 0])): compacted:int|str|list[int] = errors_manager.compact(value) print([ "Prueba " + str(i), value, errors_manager.to_array_binary(value), compacted, errors_manager.to_array_binary(compacted) ])
- typejs
- characters436
- lines20
"use strict"; /** @type {ErrorsManager} */ const errors_manager = new ErrorsManager(); [105, "pBAA", [41, 1, 0, 0]].forEach((value, i) => { /** @type {number|String|Array.<number>} */ const compacted = errors_manager.compact(value); console.log([ "Prueba " + i, value, errors_manager.to_array_binary(value), compacted, errors_manager.to_array_binary(compacted) ]); });
El resultado de estas pruebas son los siguientes:
Prueba | Valor | Binario | Compactado | Binario compactado |
---|---|---|---|---|
0 | 105 | ["101001", "000001"] | 105 | ["101001", "000001"] |
1 | pBAA | ["101001", "000001", "000000", "000000"] | pB | ["101001", "000001"] |
2 | [41, 1, 0, 0] | ["101001", "000001", "000000", "000000"] | [41, 1] | ["101001", "000001"] |
Prueba | Valor | Binario | Compactado | Binario compactado |
Los binarios aquí representados están en base al método objeto de pruebas to_array_binary, y es posible que no se espere dicho binario del valor dado por su orden, pero es el método que se usa para hacer las comprobaciones pertinentes.
Los valores compactados lo único que hacen es simplificar el valor a la mínima unidad como valor, en el caso de los String como caracteres; y en el caso de los Array como enteros, motivo por el cual, cuando salen los binarios compactados salen con ceros a la izquierda en el último bloque binario, sin embargo, podemos ver que lo que son bloques completamente 0 se eliminarán.