ho il seguente codice nel elisir:Come creare una variabile globale in elisir modulo
def get_trackerid(imei) do
client = get_new_client()
{:ok, result} = :cqerl.run_query(client, "SELECT * FROM trackers_by_imei where imei = \'#{imei}\';")
row = :cqerl.all_rows(result)
end
Ora, ora molte funzioni chiamano funzione get_trackerid e ogni volta che la funzione viene chiamata, una chiamata al database è fatto.
C'è un modo per scrivere una funzione in elixir tale che il risultato sia memorizzato in una variabile locale. Quindi, quando viene richiesta la tracker successiva per lo stesso imei, posso ottenere i dati dalla variabile locale stessa.
Penso che non ci sia alcun concetto di variabile globale in elisir, quindi non è un'opzione, giusto?
Il collegamento fornito è rotto. – tuned
@tunedconsulting Ho modificato il link in modo che punti alla versione della cache di google della pagina web. –
il nuovo collegamento è qui http://ineverfinishanyth.in/2014/01/20/memoization-in-elixir (: – tuned