|
Dimensione: 3766
Commento:
|
Dimensione: 3780
Commento:
|
| Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
| Linea 37: | Linea 37: |
| 0. Andiamo oltre e sfruttiamo le potenzialità di .NET con un esempio che creerà un array di persone (nome ed età). Allo script verrà passato un parametro, memorizzato nella variabile `Args` e recuperato nella variabile `nEta`, quindi lo script filtrerà le persone che hanno meno di `nEta` anni, ordinate per età.<<BR>> | 0. Andiamo oltre e sfruttiamo le potenzialità di .NET con un esempio che creerà un array di persone (`nome` ed `età`). Allo script verrà passato un parametro, memorizzato nella variabile `Args` e recuperato nella variabile `nEta`, quindi lo script filtrerà le persone che hanno meno di `nEta` anni, ordinate per età.<<BR>> |
| Linea 76: | Linea 76: |
| 0. Esguire lo script con il seguente comando:{{{ | 0. Eseguire lo script con il seguente comando:{{{ |
| Linea 100: | Linea 100: |
| Per maggiori informazioni consultare il [[https://github.com/dotnet-script/dotnet-script|sito ufficiale]]. | Per maggiori informazioni consultare il [[https://github.com/dotnet-script/dotnet-script|repository del progetto]]. |
Attenzione! Questa è una Pagina di prova. Le informazioni riportate potrebbero essere incomplete, errate e potenzialmente pericolose. Per contribuire alla realizzazione di questa pagina consultare la discussione di riferimento. |
Scripting in C# con dotnet-script
Creare un progetto .NET per compiti piccoli e semplici è un po' eccessivo. dotnet-script semplifica le cose. Permette di eseguire il codice C# come un singolo file di script. Nessun metodo main, nessun .csproj e compilazione trasparente.
Prerequisito: .NET SDK deve essere installato.
Per installare dotnet-script digitare nel terminale il seguente comando:
dotnet tool install -g dotnet-script
Creazione di uno script
dotnet-script è dotato di un comando di init per generare un semplice script.
Creare una cartella DotnetScript nella propria Home.
Aprire un terminale e spostarsi in questa cartella.
Digitare il seguente comando:
dotnet script init
Verano creati 2 file: main.csx e omnisharp.json.
omnisharp.json contiene le impostazioni dello script, come il framework di destinazione e i riferimenti a nuget consentiti.
main.csx è strutturato in modo da contenere un semplice esempio di Hello World funzionante. Contenuto
Su Linux, gli script possono essere eseguiti direttamente come se fossero degli eseguibili quindi verificare che lo script funzioni eseguendo il seguente comando:
./main.csx
L'output deve essere:
Hello World!
Andiamo oltre e sfruttiamo le potenzialità di .NET con un esempio che creerà un array di persone (nome ed età). Allo script verrà passato un parametro, memorizzato nella variabile Args e recuperato nella variabile nEta, quindi lo script filtrerà le persone che hanno meno di nEta anni, ordinate per età.
Modificare il file main.csx copiando e incollando il seguente contenuto:1 #!/usr/bin/env dotnet-script 2 3 using System; 4 using System.Data; 5 6 Int16 nEta = 0; 7 if (Args.Count > 0) 8 nEta = Convert.ToInt16(Args[0]); 9 else 10 { 11 Console.WriteLine("L'età non è stata specificata"); 12 return; 13 } 14 DataTable dtable = new DataTable(); 15 dtable.Columns.Add("Nome", typeof(string)); 16 dtable.Columns.Add("Eta", typeof(Int16)); 17 dtable.Rows.Add("Silvia", 32); 18 dtable.Rows.Add("Roberto", 28); 19 dtable.Rows.Add("Leonardo", 25); 20 dtable.Rows.Add("Francesco", 59); 21 dtable.Rows.Add("Alessandro", 55); 22 dtable.Rows.Add("Lorenzo", 18); 23 dtable.Rows.Add("Mattia", 41); 24 dtable.Rows.Add("Tommaso", 62); 25 dtable.Rows.Add("Gabriele", 39); 26 dtable.Rows.Add("Federico", 20); 27 int n=0; 28 DataRow[] dtRows; 29 dtRows = dtable.Select("Eta<" + nEta, "Eta ASC"); 30 string strResult; 31 Console.WriteLine("Hanno meno di " + nEta + " anni"); 32 foreach(DataRow row in dtRows) 33 { 34 strResult = string.Format("{0, -15}Età: {1}", row["Nome"], row["Eta"]); 35 Console.WriteLine(strResult); 36 }
Eseguire lo script con il seguente comando:
./main.csx 50
L'output sarà:
Hanno meno di 50 anni Lorenzo Età: 18 Federico Età: 20 Leonardo Età: 25 Roberto Età: 28 Silvia Età: 32 Gabriele Età: 39 Mattia Età: 41
Modo REPL (Read-Evaluate-Print-Loop)
Il modo REPL ("modo interattivo") viene avviato eseguendo dotnet-script senza alcun argomento.
Il modo interattivo consente di fornire singoli blocchi di codice C# e di eseguirli non appena si preme Invio.
~$ dotnet script > var x = 1; > x+x 2
Per maggiori informazioni consultare il repository del progetto.
