Xor线程和False列表

时间:2013-04-09 17:45:25

标签: wolfram-mathematica

我正在尝试实现BitXor的变体,它将两个真值的列表作为输入,并将元素方式Xor真值的列表作为输出返回。

MyXor = Thread[Xor[#, #2]] &;

除了输入相同外,它工作正常。我希望得到

{False,False,False,False,False,False,...}

但我得到了

False

有没有办法绕过这个,没有强制函数检查这种情况并重建False列表输出?

1 个答案:

答案 0 :(得分:0)

问题是,当to参数相同时,Xor总是给出False。一种解决方案是将Xor保留在评估中Thread

MyXor = Thread[Unevaluated[Xor[#, #2]]] &

l = RandomChoice[{True, False}, 10];
MyXor[l, l]