gpt4 book ai didi

Julia 语法 - 带有 where 子句的函数的返回类型注释

转载 作者:行者123 更新时间:2023-12-03 21:43:45 25 4
gpt4 key购买 nike

我是 Julia 的新手。这可能是一个愚蠢的问题,但我似乎无法正确理解此问题的语法。
我可以

check_condition(func::F, arg::Int) where {F} = func(arg)
check_condition(func::Function, arg::Int)::Bool = func(arg)
但是如果我想同时包含类型注释和外部 where 子句,我会不断收到语法错误。以下似乎不起作用:
check_condition(func::F, arg::Int) where {F}::Bool = func(arg)
(check_condition(func::F, arg::Int) where {F})::Bool = func(arg)
check_condition(func::F, arg::Int)::Bool where {F} = func(arg)
check_condition::Bool(func::F, arg::Int) where {F} = func(arg)
这确实有效,但我相信它不等于我想要的,因为类型参数对方法体隐藏(假设我想在其中的某个地方使用它)
check_condition(func::F where {F}, arg::Int)::Bool = func(arg)
写这个的正确方法是什么?
谢谢

最佳答案

用:

(check_condition(func::F, arg::Int)::Bool) where {F} = ...
请注意 ::Bool转换为 Bool .例如。:
julia> (check_condition(func::F, arg::Int)::Bool) where {F}= 1
check_condition (generic function with 1 method)

julia> check_condition(5,7)
true

关于Julia 语法 - 带有 where 子句的函数的返回类型注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65890466/

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