我正在尝试实现BitXor的变体,它将两个真值的列表作为输入,并将元素方式Xor真值的列表作为输出返回。
MyXor = Thread[Xor[#, #2]] &;
除了输入相同外,它工作正常。我希望得到
{False,False,False,False,False,False,...}
但我得到了
False
有没有办法绕过这个,没有强制函数检查这种情况并重建False列表输出?
答案 0 :(得分:0)
问题是,当to参数相同时,Xor
总是给出False
。一种解决方案是将Xor
保留在评估中Thread
MyXor = Thread[Unevaluated[Xor[#, #2]]] &
l = RandomChoice[{True, False}, 10];
MyXor[l, l]