Istruzione "switch" rispetto a tabella di ricerca in MapForce
Uno degli aspetti più interessanti del lavoro con gli sviluppatori di software è che non solo si ha l'opportunità di creare cose nuove che prima non esistevano, ma si può anche osservare come funzionano le menti degli altri quando trovano soluzioni alternative a qualsiasi sfida di progettazione. Abbiamo ricevuto un commento da parte di uno sviluppatore di software sul nostro recente articolo intitolato "L'istruzione If-Else espandibile funziona come un'istruzione Switch in MapForce", riguardante uno degli esempi che abbiamo utilizzato. Il lettore suggerisce che il nostro secondo esempio illustrava un problema che sarebbe stato risolto in modo più elegante in Altova MapForce utilizzando una Value-Map, piuttosto che con la nostra istruzione If-Else espandibile. Ecco l'esempio originale che riceveva il mese come una stringa di caratteri e che necessitava di generare il numero corrispondente:
![]()
In MapForce, una "Value-Map" rappresenta una soluzione alternativa che funge da tabella di ricerca, mentre una struttura "If-Else" espansa si comporta come un'istruzione "switch". Ecco come apparirebbe la nostra mappatura utilizzando una "Value-Map" al posto della struttura "If-Else" espansa:
![]()
Sì, è esattamente così. Invece di copiare, incollare e modificare insiemi di elementi, come abbiamo fatto per creare la nostra versione originale di "If-Else" esteso, una "Value-Map" ci permette di creare facilmente l'intera tabella di ricerca direttamente nella sua finestra di dialogo delle proprietà:
![]()
Concordiamo con l'osservazione del commentatore: Value-Map è sicuramente più efficace per il problema che abbiamo scelto, perché è molto più rapido e semplice da creare! La tabella proveniente dalle proprietà di Value-Map è anche più concisa e più facile da interpretare in MapForcedocumentazione generata per la mappatura rispetto alla nostra struttura originale "if-else" estesa. Naturalmente, non potete sempre sostituire un'istruzione "if-else" estesa con una tabella di valori. I dati che vengono inseriti nella Value-Map devono uguale Un singolo valore nella tabella di input per generare un output specifico, mentre la funzione "If-Else" avanzata consente di impostare una serie di condizioni con diversi test logici. A volte, la natura precisa di un progetto di conversione dati rende necessario valutare attentamente se utilizzare un elemento di commutazione o una tabella di ricerca. Supponiamo che il vostro progetto riceva in input un numero che rappresenta una lunghezza d'onda dello spettro elettromagnetico e che desideriate gestire separatamente le radiazioni ultraviolette, i colori visibili e l'energia infrarossa. In quel caso, potremmo utilizzare una struttura "se-altrimenti" estesa per verificare intervalli di valori di input. La sezione "if-else" estesa della mappatura potrebbe apparire così:
![]()
Se l'input è un numero intero, è possibile creare una soluzione utilizzando Value-Map, ma sarebbe necessario creare una tabella di ricerca molto estesa. Inoltre, cosa succede in seguito se i requisiti del progetto cambiano e l'input diventa un numero decimale, oppure se è necessario filtrare ogni colore visibile separatamente per nome? In sostanza, Altova MapForce è una rappresentazione grafica molto efficace di un set completo di strumenti per la programmazione, che vi protegge dalla sintassi dettagliata dei linguaggi di programmazione, offrendo una vasta gamma di componenti che potete assemblare in modo creativo per risolvere le vostre sfide di mappatura, conversione e integrazione dei dati.
Scoprite di persona quanto è semplice utilizzare MapForce per i vostri progetti di mappatura dei dati. Scaricate una versione di prova gratuita di 30 giorni di MapForce.