2013-11-20 15 views

risposta

19

Chiamare findin è un'ottima scelta. C'è anche lo findfirst e più in generale lo findnext, che ti permette di ripartire da dove eri rimasto. Un vantaggio di questi due è che non è necessario allocare un array di output, quindi le prestazioni saranno migliori (se ci si interessa).

Inoltre, tieni presente che (a differenza di altre lingue a cui potresti essere abituato) i loop di Julia sono veloci e, di conseguenza, puoi sempre scrivere da solo funzioni così semplici. Per vedere cosa intendo, dai un'occhiata all'implementazione di findnext (in base/array.jl); non c'è niente di "stravagante" a riguardo, tuttavia si ottiene una prestazione che è altrettanto buona di quella che si otterrebbe se fosse stata implementata in C.

+0

Grazie, sapevo che ci doveva essere una funzione per questo :) – fhucho

Problemi correlati