Posted on 五月 14th, 2007 in perl.Visited (1/2146) times
為了某個原因,要對兩個變數做 XOR 的檢查,除了這個之外不知道有沒有更好的寫法:
檢查:
結果:
註,空行是 false,也可以說是 0。
2007/12/10:一直忘了補上 gugod 的版本:
sub _IsXOR
{
return (shift||
0) ^
(shift||
0);
}
Share and Enjoy:
These icons link to social bookmarking sites where readers can share and discover new web pages.
Victor says:
Added on 五月 14th, 2007 at 9:40 pm我第一個想到的是直接 return (shift ^ shift) ? 1 : 0;
不過最後一個 case 會爆 :p
另外一個做法是 return “$lvalue” ne “$rvalue”
這樣應該行吧? :p
clsung (blog author) says:
Added on 五月 14th, 2007 at 11:34 pm這樣應該會有 warning… 如果是 undef 的 value …
gugod says:
Added on 八月 11th, 2007 at 10:27 pmsub _IsXOR {
return (shift||0) ^ (shift||0);
}