Julia中的“at”@符号是什么意思?

例如,这里:

ys = lift(frequency, phase) do fr, ph
    @. 0.3 * sin(fr * xs - ph)
end

从这里。


我未能将其解释为宏定义或调用。

回答

TLDR:@调用宏。https://docs.julialang.org/en/v1/manual/metaprogramming/

在我看来,julia 最好的功能之一是它的宏。它们允许您轻松编写操作源代码的函数。@.例如变成0.3 * sin(fr * xs - ph)0.3 .* sin(fr .* xs - ph)。另一个常见的例子是@time粗略地将相同的表达式翻译成

t1=time()
0.3 * sin(fr * xs - ph)
println(time()-t1)

请注意,这些都不是由函数实现的,因为函数在运行之前会对其输入进行评估,而宏则对代码本身进行操作。


以上是Julia中的“at”@符号是什么意思?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>