ErrorsManager/Public/doc/es/manual/compact.w.md

78 lines
2.6 KiB
Markdown

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