12/02/2020, 05:42 PM
Se puede detectar de manera confiable si un argumento/parámetro es string o integer?
Algo así:
* El anterior código lo hice rápido pero sirve como concepto.
El problema con el anterior código es que no es consistente, a veces en vez de "97 0 0 0" resulta en números erráticos, grandes, etcétera y es como que no podés realizar la comprobación de manera fiable.
En cuanto a los strings solamente me importan los que estén dentro de ascii por si eso ayuda a detectarlo.
Idealmente el código final iría en un include.
Estoy haciendo una librería donde abuso mucho de any:... pero me gustaría automatizar esa detección de tipo de variable.
Algo así:
Código PHP:
dynamic(id, "a");
dynamic(id, 97);
public dynamic (id, any:...) {
console_print(0, "dynamic param ->");
new a = getarg(1, 0);
new b = getarg(1, 1);
new c = getarg(1, 2);
new d = getarg(1, 3);
if (b == 0 && c == 0) {
console_print(0, "is integer");
} else {
console_print(0, "is string");
}
console_print(0, "%c%c%c%c", a, b, c, d);
console_print(0, "");
console_print(0, "%i %i %i %i", a, b, c, d);
console_print(0, "");
}
Código:
dynamic param ->
is string
a
97 0 117 115
dynamic param ->
is integer
a
97 0 0 0
El problema con el anterior código es que no es consistente, a veces en vez de "97 0 0 0" resulta en números erráticos, grandes, etcétera y es como que no podés realizar la comprobación de manera fiable.
En cuanto a los strings solamente me importan los que estén dentro de ascii por si eso ayuda a detectarlo.
Idealmente el código final iría en un include.
Estoy haciendo una librería donde abuso mucho de any:... pero me gustaría automatizar esa detección de tipo de variable.