使用joinpath()将特定的字符串插入更长的字符串-类似R paste()

时间:2019-02-01 01:24:42

标签: julia

好吧,这在0.7中有效。

function myCustomAlert(parm) {
alert(param);
}
button.onclick = myCustomAlert(keys[i])

语法:不能将字符串文字并置

在v1.1中进行了哪些更改,或者可能有人建议另一种方法将tickers [t]的内容插入上述路径。

R在tickers = ["IWB","IWP","IVV","IYY","IEV","EEM","TLT"] t=1 res = joinpath("https://www.alphavantage.co/query?function=TIME_SERIES_MONTHLY_ADJUSTED&symbol="tickers[t]"&outputsize=full&apikey=your_key&datatype=csv") 中有paste()joinpath()是我的替代品。

1 个答案:

答案 0 :(得分:2)

在v0.7(我刚刚检查过)中绝对不起作用。

任何形式的代码模式:

"abc"d"efg"

将引发相同的错误,因为Julia试图从d"efg"构造字符串文字对象,然后将其与字符串"abc"并置。您要在此处执行的操作是字符串插值,例如:

ticker = "ABC"
res = "https://somepath/symbol=$(ticker)&morestuff"

当然,您也可以使用:

ticker = "ABC"
res = string("https://somepath/symbol=", ticker, "&morestuff")

我相信过去曾经是真的,在某些情况下直接调用string可能会更有效率。但是@DNF建议(在注释中)这两种方法现在都降低到相同的代码,因此请使用您喜欢的语法。我个人发现插值代码语法更清洁。在执行操作(请求库存数据)的情况下,效率差异始终毫无意义。

我真的不确定您为什么要在这里尝试使用joinpath,因为joinpath用于构建当前操作系统的文件/目录地址。使用joinpath构建URL字符串不是一个好主意,因为在Windows操作系统上,joinpath将使用\,而不是/。甚至join(允许您指定加入时使用的定界符)在这里也没有任何意义,因为您不想在代码的两侧使用斜杠。