C'è un modo per ottenere l'elenco dei metodi che implementano un metodo Ruby quando viene invocato questo metodo?Come posso trovare le dipendenze del metodo Ruby?
Ad esempio:
def foo
puts "foo"
end
def foo2
foo
end
voglio sapere che quando si chiama "foo2" chiama prima "pippo" e 2 ° "mette" ed i file corrispondenti questi metodi sono definiti in. (Se "puts" chiama altri metodi, mi piacerebbe conoscerli anche io)
È possibile? e se "sì" come? Potrei dire che la mia domanda riguarda la ricerca delle dipendenze del metodo.
È probabile che si caccino critiche per aver tentato di farlo; non è una responsabilità di un metodo sapere chi può chiamarla (o chi l'ha chiamata, se è per questo). Potresti voler condividere il tuo obiettivo/problema e vedere se non ci sono soluzioni più adatte e contribuire ad alleviare le preoccupazioni che qualcuno ha a proposito di aiutare a scrivere codice cattivo. :) – coreyward
L'analisi del flusso di controllo statico è piuttosto difficile per un linguaggio dinamico come Ruby. –
Sembra un trucco. Se hai bisogno di azioni per essere in un ordine specifico, perché non metterle nello stesso metodo in modo che sia chiaro? Forse stai facendo una domanda diversa, ma il tuo codice di esempio non chiarisce * perché * vuoi imporre un flusso statico. Hai un esempio più realistico? – jefflunt