Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Programmazione/CSharp/Script"
Differenze tra le versioni 1 e 4 (in 3 versioni)
Versione 1 del 02/01/2023 21.03.56
Dimensione: 2688
Autore: rafbor
Commento:
Versione 4 del 03/01/2023 20.04.02
Dimensione: 4004
Commento: revisione 1
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 4: Linea 4:
<<Include(NuoviStrumentiWiki/PaginaDiProva)>> <>Include(NuoviStrumentiWiki/PaginaDiProva)>>
Linea 6: Linea 6:
<<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=651540"; rilasci="20.04 22.04")>>
Linea 7: Linea 8:
= Scripting in C# con dotnet-script = = Introduzione =
Linea 9: Linea 10:
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. Questa illustra come creare script in '''C#''' con lo strumento '''dotnet-script'''.

Spesso non è conveniente c
reare un progetto per '''.NET''' per compiti piccoli e/o semplici. In questi casi può risultare utile '''dotnet-script''' che permette di eseguire il codice '''C#''' come un singolo file di script, senza nessun metodo main, nessun `.csproj` e compilazione trasparente.

##da qui

Prerequisito: '''.NET SDK''' deve essere installato.
Linea 26: Linea 33:
Linea 29: Linea 35:
 0. Verificare che lo script funzioni eseguendo il seguente comando:{{{  0. Su Linux, gli script possono essere eseguiti direttamente come se fossero degli eseguibili quindi verificare che lo script funzioni eseguendo il seguente comando:{{{
Linea 36: Linea 42:
 0. Modificare il file `main.csx` copiando e incollando il seguente contenuto:{{{#!cplusplus  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>>
 Modificare il file `main.csx` copiando e incollando il seguente contenuto:{{{#!cplusplus
Linea 74: Linea 81:
 0. 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
}}}
Linea 75: Linea 95:
== Modo REPL (Read-Evaluate-Print-Loop) ==
Linea 76: Linea 97:
LAVORO IN CORSO Il modo '''REPL''' ("modo interattivo") viene avviato eseguendo '''dotnet-script''' senza alcun argomento.
Linea 78: Linea 99:

Per maggiori informazioni consultare il [[https://github.com/dotnet-script/dotnet-script|sito ufficiale]].
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 [[https://github.com/dotnet-script/dotnet-script|repository del progetto]].


<>Include(NuoviStrumentiWiki/PaginaDiProva)>>

Guida verificata con Ubuntu: 22.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Questa illustra come creare script in C# con lo strumento dotnet-script.

Spesso non è conveniente creare un progetto per .NET per compiti piccoli e/o semplici. In questi casi può risultare utile dotnet-script che permette di eseguire il codice C# come un singolo file di script, senza 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.

  1. Creare una cartella DotnetScript nella propria Home.

  2. Aprire un terminale e spostarsi in questa cartella.

  3. 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

         1 #!/usr/bin/env dotnet-script
         2 Console.WriteLine("Hello world!");
      
  4. 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!
  5. 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 }
    
  6. 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.


CategoryNuoviDocumenti