martedì 12 febbraio 2019

Le potenti hash table di powershell - episodio 2


Buongiorno e benvenuti a questo secondo ed ultimo episodio di questa mini-serie dedicata alle hash table di Powershell.
In questa “puntata” dedicherò un po’ di tempo ai possibili modi di interagire ciclicamente con una hashtable.
Se non avete letto il primo episodio di questa mini-serie, vi consiglio di andare a leggervelo qui.
Detto questo, mettiamoci all’opera.

Ciclare su una hash table – non così diretto

Come potete notare, una hashtable non è una collection di oggetti nuda e cruda, ma ogni voce della hashtable ha un nome e un valore.




Come vedete dalle prove che  ho fatto in questa immagine, non è possibile NEMMENO richiamare la proprietà Name o Value di ogni foreach, mentre è necessario utilizzare il metodo getEnumerator()

GetEnumerator() … …con qualche limite

Ecco quindi venirci in aiuto il GetEnumerator che, tuttavia, impone qualche limite sull’uso di oggetti come chiave. Vedete nell’immagine sopra che, quando il ciclo è arrivato sul punto in cui la chiave è un oggetto , lo script è andato in errore…
Quindi va benissimo usare questo sistema con hashtable testuali, ma quando abbiamo chiavi particolari, meglio usare il metodo che segue…

Il metodo migliore, secondo me: usiamo il metodo .Keys

Con il metodo .Keys della classe HashTable, otteniamo un array di tutte le chiavi. Utilizzando poi la notazione con le parentesi quadre per recuperare i valori dalla array, possiamo ciclare in tutta libertà sulla nostra hashtable.







Bene! Anche per oggi spero di aver stuzzicato la vostra voglia di scriptare e la vostra fantasia.
Happy Scripting a tutti!

Nessun commento:

Posta un commento

I commenti sono soggetti a moderazione, prima di essere pubblicati.

Qualsiasi contenuto illecito, immorale o che io ritenga (arbitrariamente) offensivo od inappropriato, verrà cancellato.