我正在尝试使用map()
将函数quandl
应用于(n x 1)个字符串数组。 (http://quandljl.readthedocs.io/en/latest/get_data.html)
但是,我希望不仅仅将字符串作为函数的参数传递,例如from = Date1
和to = Date2
。我似乎无法找到一种方法让map()
在字符串数组上应用函数,同时传递关键字参数以将数据从Date1
下载到Date2
。
更一般的问题是:如何使用map()
在多个元素上应用函数,同时还将其他参数传递给此函数?
答案 0 :(得分:13)
您希望创建一个匿名函数,该函数使用适当的参数调用quandl
并将其映射到您的数据上。由于我对如何调用quandl
有点不清楚,我只是使用一个简单的例子。假设f
采用两个位置参数和一个关键字k
;假设您要将v
作为第二个参数2
应用于k = "abc"
的每个值。map(x -> f(x, 2, k = "abc"), v)
。你会这样做:
map(v) do x
f(x, 2, k = "abc")
end
如果匿名函数体很大或很复杂,你可能想要使用Julia的do-block syntax并写下这样的计算:
SELECT
COUNT(*)
FROM
[User]
Where
Username like '%m%'
在这个例子中,这没有多大意义,但如果匿名函数是多行代码,那么这可能更合适。