Julia MethodError:没有匹配的方法!(::Base.AbstractIOBuffer{Array{UInt8,1}})
茱莉亚0.5分在茱莉亚波克斯 为什么下面的函数定义会产生以下错误:Julia MethodError:没有匹配的方法!(::Base.AbstractIOBuffer{Array{UInt8,1}}),julia,Julia,茱莉亚0.5分在茱莉亚波克斯 为什么下面的函数定义会产生以下错误: Julia MethodError: no method matching take!(::Base.AbstractIOBuffer{Array{UInt8,1}} ) function CoinTrials(x,y; numtrials=100000, numcoins=5 ) Yes=[] No=[] for trial in 1:numtrials trialresults=[]
Julia MethodError: no method matching take!(::Base.AbstractIOBuffer{Array{UInt8,1}} )
function CoinTrials(x,y; numtrials=100000, numcoins=5 )
Yes=[]
No=[]
for trial in 1:numtrials
trialresults=[]
for coin in 1:numcoins
result = rand(1,2)
push(vec,trialresults)
end
if len(filter(x->x==1,trialresults)) >=3
Yes+=1
else
No+=1
end
end
@printf(Yes,No)
end
…您似乎没有使用x
或y
,因此我不确定它们为什么会出现在这里
Yes=[]
No=[]
…既然以后添加1,为什么不创建这些整数计数器
for trial in 1:numtrials
trialresults=[]
for coin in 1:numcoins
result = rand(1,2)
…这将生成一个由两个介于0和1之间的随机浮点64组成的数组。您想要数组还是单个数字
push(vec,trialresults)
…没有push
功能。有一个推代码>函数。你想推吗!(试验结果,结果)
要将最新试验添加到试验结果列表中吗
end
if len(filter(x->x==1,trialresults)) >=3
…没有len
功能。有一个length
函数。不过,这在测试结果中找不到float64
Yes+=1
else
No+=1
end
end
@printf(Yes,No)
…此处需要格式字符串:@printf“%d%d”是否
end
这段代码充满了错误,julia 0.5甚至还没有编译出来。什么是vec?printf必须将字符串文字作为其第一个参数。请更正代码。感谢您的回复。这是在凌晨编写此函数的一次可怕尝试。我已经纠正了它,在我自己的系统上运行,并且收到了一个新的错误。Juliabox对我在上面运行的任何东西都抛出了一个错误,即使是1+1。
end