2016-05-21 14 views
0

Wie finden Sie heraus, wo ein Makro in Julia ist. Ich schaue auf jemandes Code und sie verwenden ein @debug("string") Makro. Es gibt keine Verwendungs-Anweisungen in der bestimmten Datei, die mir sagen würden, woher es geladen ist, also nehme ich an, dass das Formular irgendwo anders im Code geladen ist.Wie finden Sie, wo ein Makro in Julia ist?

Ich könnte das Debug-Modul für Julia erraten, aber es scheint nicht so verwendet zu werden, es scheint, dass es mehr für die Protokollierung verwendet wird, also bin ich ein bisschen unsicher, wie man es aufspürt durch den Code.

Antwort

3

Eine Makroposition kann mit dem Makro @which erreicht werden. Dies ist eine Funktion, die in 0.5 eingeführt wurde.

julia> @which @printf("%0.2f", 1/3) 
@printf(args...) at printf.jl:1178 

ähnlich @which, können Sie @edit verwenden, um die Quelldatei zu öffnen und @functionloc programmatisch die Funktion Standort zu erhalten.

2

Sie können zum Hilfemodus in der Julia repl mit der Tastenkombination shfit + gehen?

help?> @debug 
    No documentation found. 

    @debug is a macro. 

    # 1 method for macro "@debug": 
    @debug(msg...) at /home/guo/.julia/v0.5/Logging/src/logging_macros.jl:11 

Ich denke, die marco @debug ist wahrscheinlich aus dem Paket Logging.jl.