我对提示用户输入带有位置,关键字和默认参数“ Julian”的功能感兴趣。我也希望文档是“ Julian”。
这个例子是我到目前为止提出的:
"""
ask([prompt::String="prompt> "] [kw_prompt::String=""])::String
Prompt user for input and read and return a string from `stdin`.
If keyword argument, `kw_prompt`, is supplied, it will be the prompt.
If positional argument, `prompt`, is supplied, it will be the prompt.
If no parameter is supplied, the prompt will be "prompt> ".
# Examples
```julia_repl
julia> ask()
prompt> test
"test"
julia> ask("My prompt: ")
My prompt: test
"test"
julia> ask(kw_prompt="A long prompt >>> ")
A long prompt >>> test
"test"
```
"""
function ask(prompt::String="prompt> "; kw_prompt::String="")::String
if !isempty(kw_prompt)
print(kw_prompt)
elseif !isempty(prompt)
print(prompt)
end
return readline()
end # ask()
对代码或文档有何建议?
答案 0 :(得分:3)
我不会同时支持位置和关键字args朱利安(Julian)。选一个。
如果确实需要,请掩盖文档中的详细信息。只需将两者链接在一起:
julia> """
ask([prompt="prompt>"])
"""
function ask(_prompt="prompt> "; prompt=_prompt)
print(prompt)
return readline()
end
ask (generic function with 2 methods)
julia> ask();
prompt>
julia> ask("foo> ");
foo>
julia> ask(prompt="bar> ");
bar>