aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntonio Giovanni Colombo <azc100@gmail.com>2021-06-24 15:13:22 +0200
committerAntonio Giovanni Colombo <azc100@gmail.com>2021-06-24 15:13:22 +0200
commit494def1df53684a18640dce92eb7c0dda9742648 (patch)
tree87eec3353736e29bcc3fcaef1b1332caf3ff3db7
parent08707fd27d9a0f46e9a3981d34ccb1be215ecd9b (diff)
downloadegawk-494def1df53684a18640dce92eb7c0dda9742648.tar.gz
egawk-494def1df53684a18640dce92eb7c0dda9742648.tar.bz2
egawk-494def1df53684a18640dce92eb7c0dda9742648.zip
Added text about isnumeric test program
-rw-r--r--doc/it/ChangeLog4
-rwxr-xr-xdoc/it/gawktexi.in52
2 files changed, 50 insertions, 6 deletions
diff --git a/doc/it/ChangeLog b/doc/it/ChangeLog
index 74e4bb66..80e49d1c 100644
--- a/doc/it/ChangeLog
+++ b/doc/it/ChangeLog
@@ -1,3 +1,7 @@
+2021-06-24 Antonio Giovanni Colombo <azc100@gmail.com>
+
+ * gawktexi.in: Updated.
+
2021-06-21 Antonio Giovanni Colombo <azc100@gmail.com>
* gawktexi.in: Updated.
diff --git a/doc/it/gawktexi.in b/doc/it/gawktexi.in
index 1c5f4d6d..4863ab25 100755
--- a/doc/it/gawktexi.in
+++ b/doc/it/gawktexi.in
@@ -941,6 +941,8 @@ Copyright dell'edizione italiana @copyright{} 2016 -- Free Software Foundation,
vettore in una stringa.
* Funzione getlocaltime:: Una funzione per ottenere data e
ora nel formato desiderato.
+* Funzione isnumeric:: Una funzione per controllare se un
+ valore @`e numerico.
* Funzione readfile:: Una funzione per leggere un file
intero in un colpo solo.
* Apici alla shell:: Una funzione per passare stringhe
@@ -23465,6 +23467,8 @@ programmazione.
un colpo solo.
* Apici alla shell:: Una funzione per passare stringhe
con apici alla shell.
+* Funzione isnumeric:: Una funzione per controllare se un valore
+ @`e numerico.
@end menu
@node Funzione strtonum
@@ -24304,6 +24308,42 @@ function shell_quote(s, # parametro
@c endfile
@end example
+@node Funzione isnumeric
+@subsection Controllare se un valore @`e numerico
+
+Una domanda spesso posta in programmazioni @`e come accertarsi se un dato
+valore @`e di tipo numerico. Il problema pu@`o essere risolto usando la
+funzione di esempio @code{isnumeric()}, che utilizza l'artificio di
+trasformare l'input ricevuto dell'utente nel valore di una stringa,
+utilizzando la funzione @code{split()}:
+
+@cindex @code{isnumeric()} @subentry funzione definita dall'utente
+@cindex funzione definita dall'utente @subentry @subentry @code{isnumeric()}
+@example
+@c file eg/lib/isnumeric.awk
+# isnumeric --- controlla se un valore @`e numerico
+
+function isnumeric(x, f)
+@{
+ switch (typeof(x)) @{
+ case "strnum":
+ case "number":
+ return 1
+ case "string":
+ return (split(x, f, " ") == 1) && (typeof(f[1]) == "strnum")
+ default:
+ return 0
+ @}
+@}
+
+@c endfile
+@end example
+
+Si noti che gli eventuali spazi bianchi prima o dopo la stringa sono
+ignorati nel decidere se un valore sia numerico oppure no; se la cosa
+@`e importante in una data situazione, occorre aggiungere un apposito
+controllo ulteriore.
+
@node Gestione File Dati
@section Gestione di @value{DF}
@@ -25225,8 +25265,8 @@ $ @kbd{awk -f getopt.awk -v _getopt_test=1 -- -a \}
@print{} c = <otherd>, Optarg = <>
@print{} c = <otherc>, Optarg = <>
@print{} argomenti che non sono opzioni:
-@print{} ARGV[8] = <arg1>
-@print{} ARGV[9] = <arg2>
+@print{} ARGV[8] = <arg1>
+@print{} ARGV[9] = <arg2>
@end example
In tutte le esecuzioni, il primo @option{--} fa terminare gli argomenti dati
@@ -27575,9 +27615,9 @@ in modo che sia stampata in maniera elegante nella pagina:
@end ignore
@c file eg/prog/split.awk
-function sintassi( comune)
+function sintassi( comune)
@{
- common = "[-a lunghezza-suffisso] [file [nome-output-file]]"
+ comune = "[-a lunghezza-suffisso] [file [nome-output-file]]"
printf("Uso: split [-l contatore] %s\n", comune) > "/dev/stderr"
printf(" split [-b N[k|m]] %s\n", comune) > "/dev/stderr"
exit 1
@@ -31778,7 +31818,7 @@ main(void)
printf("%d\n", x + y);
return 0;
@}
-$ @kbd{cc -O add.c -o add} @ii{Compilazione del programma}
+$ @kbd{cc -O add.c -o add} @ii{Compilazione del programma}
@end example
Si potrebbe poi scrivere un programma @command{gawk} fin troppo semplice,
@@ -43465,7 +43505,7 @@ per l'internationalizzazione
@item
La funzione @code{extension()} e la possibilit@`a di aggiungere
nuove funzioni predefinite dinamicamente. Questa funzione @`e stata rimossa.
-È rimpiazzata dal nuovo meccanismo delle estensioni dinamiche
+@`E rimpiazzata dal nuovo meccanismo delle estensioni dinamiche
@iftex
(@pxrefil{Estensioni dinamiche}).
@end iftex