1

Mathematica でこの式に出くわしました:

oneStep[plus[e1_ , e2_]] := Flatten[{With[{a=e1,b=#},plus[a,b]]&/@oneStep[e2],
                                  With[{a=#,b=e2},plus[a,b]]&/@oneStep[e1]}];

しかし、この式でこの &/ 記号が何を意味するのか理解できないようです。

第二に、これはより「人間に優しい」方法で書くことができますか?

4

2 に答える 2

3

は純粋な関数(ラムダのようなもの) を&意味します。はい、より親しみやすい方法で書くことができます。リンクされたドキュメントが示すように:

body&

と同等です

Function[x,body]

引数はどこxにありますか。

これ/@マップです (ドキュメントからわかるように、より使いやすい方法で記述することもできます)。

于 2013-10-20T16:38:24.433 に答える
2

アルシャジーの答えを補足するには:

veryLongFunctionName[n_] := n + n/2;
Map[veryLongFunctionName, {1, 2, 3}]

戻り値:

{3/2,3,9/2}

より長い:

Map[# + #/2 &, {1, 2, 3}]

より長い:

# + #/2 & /@ {1, 2, 3}
于 2013-10-20T16:57:59.563 に答える