我具有此功能:
function prob(q, na, mask)
q0 = round(Int, q.>0)
m0 = round(Int, mask)
return prod((q0 + (1-2q0).*pdet0(na)).^m0)
end
其中pdet0()
是另一个函数,当我想调用该函数时,我看到一个MethodError: objects of type Float64 are not callable
,显然错误出在函数的最后一行,并且与放置变量有关在带括号的表达式之前,但我真的看不到它,因为它对我来说很好。
答案 0 :(得分:3)
您需要提供运行该功能并重现该错误所需的所有信息。什么是// Changing the Notification Title, Description, and its Visibility
DownloadManager mgr = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
Uri uri = Uri.parse("///.mp3");
DownloadManager.Request req = DownloadManager.Request(uri);
req.setTitle("Download");
req.setDescription("Kick Ass Description");
req.setVisibility(Request.VISIBILITY_VISIBLE_COMPLETION_ONLY);
,q
,na
?什么是mask
?
答案 1 :(得分:3)
正如Kristoffer所说,鉴于您的示例没有运行,很难肯定地说,但罪魁祸首很可能是pdet0(na)
,它被解释为“用参数{{调用函数pdet0
1}}。
很可能na
是代码中的pdet0
数字,从而引起错误。重现该错误的最小工作示例为:
Float64
您需要考虑一下julia> function1 = 1.0
1.0
julia> function1(5)
ERROR: MethodError: objects of type Float64 are not callable
Stacktrace:
[1] top-level scope at REPL[2]:1
是什么以及为什么要调用它。您是否有任何机会来自Matlab并试图索引到向量pdet0
中?这将是Julia中的pdet0
,如果pdet0[na]
是向量并且pdet0
和Integer,它将起作用。