Я вижу выражение if в Solidity, которое выглядит следующим образом:
// Set a flag if this is an NFI. if (_isNF) _type = _type | TYPE_NF_BIT;
Что означает |?Обычно это означает «или», но здесь для меня это не имеет смысла ...
|
Это поразрядно или .Как говорится в комментарии, оператор устанавливает флаг.Например, если _type (двоичное) 00100100 и TYPE_NF_BIT равно 00000010, результат будет 00100110 - т.е. он гарантирует, что значение второго бита _type установлено в 1. Этоспособ хранения до 8 логических значений в байте.
_type
00100100
TYPE_NF_BIT
00000010
00100110
Битовая или, разновидность битовая операция .Например, для дальнейшей работы могут использоваться некоторые флаги (индикаторы).