More precisely, "result |= x ^ y" will change result to be nonzero, not "true".
For example, if x = 0b0101 and y = 0b0011, x ^ y = 0b0110. If result was previously 0b0011 from a previous test, then after "result |= 0b0110" result will be 0b0111.
Of course, in many programming languages (including Java and Python), a value of zero is interpreted as false and anything else is true.
For example, if x = 0b0101 and y = 0b0011, x ^ y = 0b0110. If result was previously 0b0011 from a previous test, then after "result |= 0b0110" result will be 0b0111.
Of course, in many programming languages (including Java and Python), a value of zero is interpreted as false and anything else is true.