Ho una funzione in Haskell che trova il valore massimo di un elevamento a potenza da una lista:Trovare l'indice dell'elemento in una lista in Haskell?
prob99 = maximum $ map (\xs -> (head xs)^(head (tail xs))) numbers
Che cosa ho bisogno di trovare è la posizione di questo valore massimo nella lista risultante. Come andrei su questo?
Edit: ho trovato una soluzione che va in questo modo:
n = [[519432,525806],[632382,518061]....
prob99b [a,b] = b* (log a)
answer = snd $ maximum (zip (map prob99b n) [1..])
Beh, sembra che tutti tranne me fossero appena nati fantastici ora non erano loro Ma in realtà, non sapevo nemmeno che esistesse Hoogle e sto ancora imparando Haskell, lo saprò meglio la prossima volta .. –
@Jonno_FTW: Mi scuso per essere snarky/cinico Non tutti sono nati fantastici, e alcune persone sono senza essere nati in quel modo. Probabilmente puoi diventare anche fantastico. Una buona regola nella programmazione Pythonesque è: se scopro che sto codificando la stessa cosa cosa 3 volte, forse dovrei fare una funzione per esso.In programmazione Haskellesque la costante è e invece di 3. La stessa regola si applica anche nella meta-programmazione.Se scopri che hai bisogno di trovarci Una buona funzione in abbondanza, meglio provare a scoprire se esiste un modo migliore per eseguire questo processo di ricerca delle funzioni e quindi scoprire Hoogle. mtfbwu – yairchu
@Jonno_FTW Non iniziare a utilizzare Hoogle se non sei pronto a diventare dipendente da esso. Come programmatore Haskell più esperto, mi rivolgo a Hoogle non appena ho identificato i tipi coinvolti in ciò che sto cercando di fare.Questo è un problema quando sto programmando ad es. Python, quando mi sento frustrato perché non c'è Poogle. :( – kqr