我正试图在Mathematica中创建用户定义的Map[]
函数版本,并且遇到了一些问题。在Mathematica中修改Map函数的用户定义版本?
这是我到目前为止有:
map[x_, s_List] := mapAux[x, s, {}];
mapAux[x, s, {}] := Append[{}, First[s]];
mapAux[x, Rest[s], {}];
我试图用它作为
map[# + 1 &, {3, 6, 8}]
但是这给输出旁边有一个神秘的错误:
Rest::normal: Nonatomic expression expected at position 1 in Rest[s].
mapAux[#1 + 1 &, {3, 6, 8}, {}]
理想的结果是{4,7,9}
。我研究了“Nonatomic expression”错误,我不确定它的含义。我通过一个清单,但它只是爆炸!
你可能会发现我以前的答案(和它的评论)或多或少完全相同的问题信息:[http://stackoverflow.com/q/4126874/272923](http://stackoverflow。 com/q/4126874/272923) – 2010-11-15 06:38:00
我不知道有些老师是否收集地图克隆 – 2010-11-15 11:35:28
@belisarius我不知道学生是否因为没有显示足够的Google-fu而失败? – Simon 2010-11-15 13:21:43