使用朱莉娅的pmap()和理解

时间:2018-02-25 11:53:24

标签: julia pmap

使用简单的功能,例如

function fun(x::Real, y::Real)
    x, y
end

我想通过

使用pmap()来调用
pmap(fun, [x for x=0:.1:2], [y for y=4:-.1:2])

朱莉娅提出此错误

ERROR: LoadError: MethodError: Cannot `convert` an object of type Tuple{Float64,Float64} to an object of type AbstractFloat
This may have arisen from a call to the constructor AbstractFloat(...),
since type constructors fall back to convert methods.

我真的不知道这里发生了什么。

根据我做过的一些研究:

It's well-established that to call map on an N-argument function, you pass N lists (or whatever collection) to map:

julia> map(+, (1,2), (3,4))
(4,6)

那有什么不对?

1 个答案:

答案 0 :(得分:1)

您使用的是哪个版本的Julia?请更新到最新的稳定版本(0.6.x),因为这与当前版本一起工作正常,这个例子是在JuliaBox上运行的:

collect(4:-.1:2)

如果您不打算转换或过滤收集的范围元素,那么您也可以简单地拨打[y for y = 4:-.1:2]而不是pmap(fun, 0:.1:2, 4:-.1:2)

如果您只需要迭代范围的值,那么您甚至不需要收集值,只需按原样使用范围,即:

[2, 'hello', 3, 'good'] - is stored in myfile.txt on one line


 with open(myfile,'r') as f:
        myList = f.readlines()