gpt4 book ai didi

namespaces - 为什么 Julia Documenter 需要在 doc-tests 中使用限定函数?

转载 作者:行者123 更新时间:2023-12-04 17:06:38 25 4
gpt4 key购买 nike

尽管调用了 using my_module,但我在 Julia 中的文档测试需要具有模块名称的资格。到处。如果我不符合这些功能,我会得到

ERROR: UndefVarError: add not defined

这是导致此错误的设置。目录结构与 tree是:
.
|____docs
| |____make.jl
| |____src
| | |____index.md
|____src
| |____my_module.jl

文件 docs/make.jl是:
using Documenter, my_module

makedocs(
modules = [my_module],
format = :html,
sitename = "my_module.jl",
doctest = true
)

文件 docs/src/index.md是:
# Documentation

```@meta
CurrentModule = my_module
DocTestSetup = quote
using my_module
end
```

```@autodocs
Modules = [my_module]
```

文件 src/my_module.jl是:
module my_module

"""
add(x, y)

Dummy function

# Examples
```jldoctest
julia> add(1, 2)
3
```
"""
function add(x::Number, y::Number)
return x + y
end

end

如果我通过了 src/my_module.jl 中的文档测试与 my_module.add(1,2) ,然后它工作正常。

如何避免在 doc-tests 中限定函数名称?

最佳答案

使用 setup name block

这是未经测试的,但这样的事情应该有效:

module my_module

"""
add(x, y)

Dummy function

# Examples
```@setup abc
import my_module: add
```

```jldoctest abc
julia> add(1, 2)
3
```
"""
function add(x::Number, y::Number)
return x + y
end

end

关于namespaces - 为什么 Julia Documenter 需要在 doc-tests 中使用限定函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51208132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com