In uno degli ultimi aggiornamenti (Sprint 192 di Settembre), Microsoft ha rilasciato un update importante per quanto riguarda la sintassi YAML introducendo, finalmente, un supporto migliore agli statement decisionali. Sebbene ad oggi non ci sia anche l'uso di un vero e proprio switch-case, possiamo però dire di avere un if migliorato.
Il codice seguente:
variables: ${{ if eq(parameters.os, 'win') }}: agentName: windows ${{ if eq(parameters.os, 'linux') }}: agentName: linux ${{ if eq(parameters.os, 'mac') }}: agentName: mac
Può ora essere riscritto come segue:
variables: ${{ if eq(parameters.os, 'win') }}: agentName: windows ${{ elseif eq(parameters.os, 'linux') }}: agentName: linux ${{ else }}: agentName: mac
L'introduzione di elseif e else consente effettivamente più flessibilità nel codice poichè, fino a poco tempo fa, siamo stati obbligati ad inserire al posto dell'else la stessa condizione presente nell'if, però negata. Può non sembrare un vantaggio, ma è chiaramente molto utile quando nelle condition devono essere valutate diverse condizioni, tavolta con and/or complessi e che dipendono dall'esecuzione di task/job precedenti.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sostituire la GitHub Action di login su private registry
Effettuare lo stream della risposta in ASP.NET Core tramite IAsyncEnumerable
Utilizzare i primary constructor di C# per inizializzare le proprietà
Generare la software bill of material (SBOM) in GitHub
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Utilizzare le collection expression in C#
Disabilitare automaticamente un workflow di GitHub (parte 2)
Code scanning e advanced security con Azure DevOps
Usare un KeyedService di default in ASP.NET Core 8
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Eseguire una GroupBy per entity in Entity Framework
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core