代码之家  ›  专栏  ›  技术社区  ›  Eric

在Mathematica中,@@是什么意思?

  •  15
  • Eric  · 技术社区  · 15 年前

    我一直在努力解决这个问题 Project Euler

    编辑:这里有一个例子,我想我可以在不违背欧拉计划精神的情况下发布:

    bloc[n_, f_][t_] := {f @@@ #, #~Tr~f} & /@ Join @@ Partition[t, {n, n}, 1];
    
    3 回复  |  直到 15 年前
        1
  •  24
  •   dreeves    12 年前

    正如其他人所指出的那样, @@@ 从技术上讲,它是 Apply 使用可选的第三个参数,如 documentation for Apply .

    f @@@ {{a,b}, {c,d}, {e,i}}
    

    简写

    f @@#& /@ {{a,b} {c,d}, {e,i}}
    

    换句话说,采用纯函数(简写: ...#...& )这是一个很好的例子 申请 @@ Map (简写: /@ )在一系列这样的论点之上。 结果是

    {f[a,b], f[c,d], f[e,i]}
    
        2
  •  11
  •   tvanfosson    15 年前

    @@@是级别1申请的缩写形式。

    f @@@ {{a, b, c}, {d, e}}
    

    相当于

    Apply[f, {{a, b, c}, {d, e}}, {1}]
    

    参考: http://reference.wolfram.com/mathematica/ref/Apply.html

        3
  •  8
  •   Tim Sylvester    15 年前

    f@@@expr相当于Apply[f,expr,{1}]。

    documents.wolfram.com