Mi sono imbattuto recentemente in qualche codice dove in molti, molti posti, le valutazioni di espressioni venivano assegnate a diversi array un indice alla volta. Un esempio di psuedo-code:
array[0] = item1[0] + item2[0];
array[1] = item1[1] + item2[1];
array[2] = item1[2] + item2[2];
o
array[0] /= variable;
array[1] /= variable;
array[2] /= variable;
Il mio istinto sarebbe quello di creare prima una funzione per iterare attraverso un array e assegnare una valutazione usando un singolo ciclo for. Poi, in secondo luogo, basta chiamare quella funzione con argomenti per l'array, un numero che definisce quanti indici attraversare e gli elementi da valutare.
- Ovviamente, un ostacolo a quel metodo è il fatto che il le espressioni valutate sono arbitrarie - possono essere aggiunte, sottrazioni, divisioni, moltiplicazioni.
- E per un altro, gli operandi di espressione possono essere variabili o matrici e di corso in lingue tipizzate staticamente, i tipi potrebbero essere variati.
- Inoltre, il numero di operandi può essere variato.
È possibile rendere questo codice più conciso tenendo conto di tutti i possibili casi e quale sarebbe la soluzione in termini tecnici?