Band
Band[x, y]
计算两个整数的按位与。
Band[12, 10]; # => 8
Block
Block[expr1, expr2, ...]
在一个隔离作用域中按顺序执行一系列表达式,返回最后一个表达式的值。未传入任何参数时返回 Unit[]。最末参数后允许保留逗号。
在 Block 内部通过 Let 创建或覆盖的变量严格局限于该块,不会影响外层环境。
Let[x, 2];
Print[x]; # 2
Block[
Let[x, 10],
Print[x] # 10
];
Print[x]; # 2
Block 与列表的区别
列表字面量中的表达式在当前作用域求值,其中通过 Let 产生的变量绑定会逃逸到列表外部。Block 则创建隔离作用域,内部绑定不影响外层。
Let[a, 0];
Print[{ Let[b, 10], Let[a, Add[b, b]] }]; # {(), ()}
Print[{ a, b }]; # {20, 10}
Bor
Bor[x, y]
计算两个整数的按位或。
Bor[12, 10]; # => 14
Bxor
Bxor[x, y]
计算两个整数的按位异或。
Bxor[12, 10]; # => 6