Should @__DIR__ give a path to the directory of the current file?

I use

function campaign_directory()
    return dirname(@__FILE__())
end

in the file campaign_directory.jl. Whenever I run this from, the directory of the campaign is correctly deduced.