2.6 KiB
language = es
title_i18n = errors_manager_title_compact
title_text = compact - ErrorsManager
compact
@ [Integer] ErrorsManager.compact(!Integer code)
@ [String] ErrorsManager.compact(!String code)
[[@ [Array] ErrorsManager.compact(!Array code)]]
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.
#!/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)
])
"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"] |]
[!!] 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.