@ Odpowiedź Oxinabox jest poprawna. Aby dodać, typeof(f).name.mt.name
jest zamiennikiem v0.5 dla f.env.name
. Może to być przydatne, aby uniknąć .
, która występuje, gdy po prostu zastosowanie string
do funkcji wprowadzonej w module non-stdlib. Istnieje również Base.function_name(f)
, która prawdopodobnie nie będzie się zepsuć, gdy zmieni się wersja Julii.
Aby uzyskać moduł, do którego wprowadzono funkcję (typ), a nie moduły poszczególnych metod, istnieje typeof(f).name.module
lub prawdopodobnie lepsza wersja, Base.function_module(f)
. Moduł tabeli metod jest prawdopodobnie taki sam; które można uzyskać przez typeof(f).name.mt.module
.
Należy pamiętać, że f.env
w wersji 0.4 jest bezpośrednim odpowiednikiem typeof(f).name.mt
, więc w wersji v0.4 obowiązują te same f.env.name
i f.env.module
.
'Base.function_name (f)' i 'Base.function_module (f)' wyglądają jak idealne rozwiązanie dla Julia 0.5. Może masz również rozwiązanie dla nazwy modułu w Julia 0.4? – ffriend
@ffriend Oczywiście, dodano dodatkowy akapit. –
Ah, nie dostałem tego pierwszy. Dzięki! – ffriend