Julia错误:TypeError:在布尔上下文中使用的非布尔(Int64)

Julia错误:TypeError:在布尔上下文中使用的非布尔(Int64),julia,Julia,当我调用函数时,标题中会出现错误,但如果我直接执行函数体,则不会出现错误。以下是我的函数的定义: 函数sslogdensity(试验::ABtrial,σ²,ł,ρ²) (id,Tobs,μg,y₀,Y₁,yg,ξ₀ₐᵣ,ξ₀ᵣᵣ,ξ₁ₐᵣ,ξ₁ᵣᵣ,ξ₀ₐₐ,ξ₁ₐₐ, 在REPL中执行代码时,变量是全局变量,编译器假定它们可以随时更改值和类型。但是,在函数中,类型通常是已知的,编译器将严格执行类型规则。尝试使用return false而不是return 0。Julia倾向于不喜欢我们输入1和

当我调用函数时,标题中会出现错误,但如果我直接执行函数体,则不会出现错误。以下是我的函数的定义:

函数sslogdensity(试验::ABtrial,σ²,ł,ρ²)

(id,Tobs,μg,y₀,Y₁,yg,ξ₀ₐᵣ,ξ₀ᵣᵣ,ξ₁ₐᵣ,ξ₁ᵣᵣ,ξ₀ₐₐ,ξ₁ₐₐ, 在REPL中执行代码时,变量是全局变量,编译器假定它们可以随时更改值和类型。但是,在函数中,类型通常是已知的,编译器将严格执行类型规则。

尝试使用
return false
而不是
return 0
。Julia倾向于不喜欢我们输入1和0表示真/假。

如果没有更多的信息,很难说清楚(参数
的定义;可能添加到
=
的任何方法),但由于您的代码中唯一的布尔上下文是
if
条件,因此让我们重点关注它。因为
==
只是一个函数,它可能会根据其参数被重写。要调试它,我将插入
@show gᵧ, Gᵧ==1
就在那一行的正上方,看看打印的是什么。有可能
gᵧ
是一种值,
==
有一个奇怪的定义,它返回的是
Int
而不是
Bool
(就像它应该返回的那样)。

g的值是什么ᵧ何时工作以及何时崩溃?(例如,
println(gᵧ)说?)这个问题解决了吗?问题出在哪里?我目前还不能重新创建这个问题。