小编Osk*_*ar 的帖子

方法定义的顺序给出不同的结果

为什么在这种情况下方法定义的顺序不同?在我看来这没有多大意义。

julia> f() = 1
f (generic function with 1 method)

julia> f(;arg) = 1
f (generic function with 1 method)

julia> f()
ERROR: UndefKeywordError: keyword argument arg not assigned
Stacktrace:
 [1] f() at ./REPL[2]:1
 [2] top-level scope at REPL[3]:1

julia> f() = 1
f (generic function with 1 method)

julia> f()
1

julia> f(arg=1)
1
Run Code Online (Sandbox Code Playgroud)

methods function julia

10
推荐指数
1
解决办法
100
查看次数

Julia @parallel for return with return statement

如何在满足条件的情况下为所有工作人员返回的函数中编写并行for循环?

就是这样的:

function test(n)
  @sync @parallel for i in 1:1000
    {... statement ...}
    if {condition}
      return test(n+1)
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

所有工人都停止在for循环上工作,只有主进程返回?(其他进程再次开始使用下一个for循环?)

parallel-processing for-loop julia

7
推荐指数
1
解决办法
417
查看次数

Julia 中的布尔矩阵乘法

我需要在 Julia 中将两个布尔矩阵相乘。

简单地做A*AA^2返回一个 Int64 矩阵。

有没有办法有效地乘以布尔矩阵?

boolean matrix-multiplication julia

7
推荐指数
2
解决办法
231
查看次数

Julia - 如果我激活一个新环境,为什么我仍然可以从我的一般环境中加载模块?

我想知道 Julia 中的环境是如何工作的。我认为通过创建一个新环境,您应该只能看到该环境中的包,但事实并非如此。为什么呢?

即,如果我创建一个临时目录并以该目录作为环境启动 Julia,我仍然可以加载在我的一般环境中但不在标准库中的模块。

$ mkdir /tmp/jl_temp
$ julia --project=/tmp/jl_temp 
Run Code Online (Sandbox Code Playgroud)
(jl_temp) pkg> st
Status `/tmp/jl_temp/Project.toml` (empty project)

julia> using Plots

julia> plot()
Run Code Online (Sandbox Code Playgroud)

这在不给我任何包未安装错误的情况下工作。有人可以向我解释这种行为的原因吗?对我来说,除了标准库和Project.toml环境文件中的包之外,它应该无法加载任何包。我在Pkg.jl文档中找不到任何答案。

environment package julia

6
推荐指数
1
解决办法
183
查看次数