ErrorsManager

compact

ErrorsManager.compact
IntegerobjectpublicErrorsManager.compactRequiredIntegercode
NameRequiredNullableTypedDefault Value
codeTrueFalseInteger
NameRequiredNullableTypedDefault Value
ErrorsManager.compact
StringobjectpublicErrorsManager.compactRequiredStringcode
NameRequiredNullableTypedDefault Value
codeTrueFalseString
NameRequiredNullableTypedDefault Value
ErrorsManager.compact
Array<Integer>objectpublicErrorsManager.compactRequiredArray<Integer>code
NameRequiredNullableTypedDefault Value
codeTrueFalseArray<Integer>
NameRequiredNullableTypedDefault Value

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:

PruebaValorBinarioCompactadoBinario compactado
0105["101001", "000001"]105["101001", "000001"]
1pBAA["101001", "000001", "000000", "000000"]pB["101001", "000001"]
2[41, 1, 0, 0]["101001", "000001", "000000", "000000"][41, 1]["101001", "000001"]
PruebaValorBinarioCompactadoBinario 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.