Ho un modulo che esegue alcune riduzioni non vincolate. Mi piacerebbe mantenere la sua interfaccia il più semplice possibile, quindi la scelta migliore sarebbe ridurla a una singola funzione, ad esempio: min_of (F).Come dovrei definire qualcosa di costante come in Erlang
Ma non appena si tratta di calcoli brutali, avrei a che fare con almeno due costanti: precisione dell'algoritmo di minimizzazione e numero massimo di iterazioni, quindi non si impiccherebbe se la funzione target non ha un minimo locale a tutti.
In ogni caso, la scelta migliore è: min_of (F, Iterazioni, EPS). Va bene, ma non mi piace. Mi piacerebbe avere ancora un altro min_of (F) definito qualcosa del genere:
min_of(F) ->
min_of(F, 10000, 0.0001).
Ma senza numeri magici.
Sono nuovo di Erlang, quindi non so come gestirlo correttamente. Devo definire una macro, una variabile o forse una funzione che restituisce una costante? O anche qualcos'altro? Ho trovato Erlang piuttosto espressivo, quindi questa domanda sembra essere più una buona pratica, che una domanda tecnica.