78 lines
2.6 KiB
Markdown
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]] --> |