Extract variable name by macro.(maybe a recursive way?) - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Extract variable name by macro.(maybe a recursive way?) (
/showthread.php?tid=643177)
Extract variable name by macro.(maybe a recursive way?) -
Dayvison_ - 14.10.2017
Name says.
PHP код:
// vN = variable name
#define extract(%1); vN1(%1[])
// Remove all after [
#define vN1(%1[%9) vN2(%1<>)
// Remove all after <
#define vN2(%1<%9) vN3:vN4(%1)
// If has any tag
#define vN3:vN4(%9:%1) %1
// Remove the funcion
#define vN4(%1) %1
extract(norm_0);
extract(norm_1[]);
extract(norm_2[][]);
extract(norm_3[][][]);
extract(norm_4[][][][]);
extract(tag:tagged_norm_0);
extract(tag:tagged_norm_1[]);
extract(tag:tagged_norm_2[][]);
extract(tag:tagged_norm_3[][][]);
extract(tag:tagged_norm_4[][][][]);
extract(special_0<abc>);
extract(special_1[]<abc>);
extract(special_2[][]<abc>);
extract(special_3[][][]<abc>);
extract(tag:tagged_special_0<abc>);
extract(tag:tagged_special_1[]<abc>);
extract(tag:tagged_special_2[][]<abc>);
extract(tag:tagged_special_3[][][]<abc>);
Output:
Код:
vN3:norm_0
vN3:norm_1
vN3:norm_2
vN3:norm_3
vN3:norm_4
tagged_norm_0
tagged_norm_1
tagged_norm_2
tagged_norm_3
tagged_norm_4
vN3:special_0
vN3:special_1
vN3:special_2
vN3:special_3
tagged_special_0
tagged_special_1
tagged_special_2
tagged_special_3
Expected output:
Код:
norm_0
norm_1
norm_2
norm_3
norm_4
tagged_norm_0
tagged_norm_1
tagged_norm_2
tagged_norm_3
tagged_norm_4
special_0
special_1
special_2
special_3
tagged_special_0
tagged_special_1
tagged_special_2
tagged_special_3
(Without the vN3: tag)