Julia:通过map()函数传递关键字参数

g.c*_*sta 5 mapping arguments function julia

我试图map()用于在quandl(nx 1)字符串数组上应用该函数.(http://quandljl.readthedocs.io/en/latest/get_data.html)

但是,我希望传递的不仅仅是字符串作为函数的参数,例如from = Date1to = Date2.我似乎无法找到一种方法,具有map()应用功能串的阵列上,同时还传递关键字参数从数据下载Date1Date2.

更一般的问题是:我如何使用map()在多个元素上应用函数,同时还将其他参数传递给此函数?

Ste*_*ski 13

您将需要创建一个匿名函数,quandl该函数使用适当的参数进行调用并将其映射到您的数据上.由于我对你打算如何打电话有点不清楚quandl,我只想用一个简单的例子.假设f有两个位置参数和一个关键字k; 假设你想将它作为第二个参数应用于vwith的每个值.你会这样做:2k = "abc"

map(x -> f(x, 2, k = "abc"), v)
Run Code Online (Sandbox Code Playgroud)

如果匿名函数体很大或很复杂,您可能想要使用Julia的do-block语法并将这样的计算写成:

map(v) do x
    f(x, 2, k = "abc")
end
Run Code Online (Sandbox Code Playgroud)

在这个例子中,这没有多大意义,但如果匿名函数是多行代码,那么这可能是更可取的.