TheDocumentation Index
Fetch the complete documentation index at: https://docs.syntblaze.com/llms.txt
Use this file to discover all available pages before exploring further.
%= (remainder assignment) operator is a compound assignment operator that calculates the remainder of dividing a left-hand operand by a right-hand operand, and assigns that resulting value back to the left-hand operand.
Syntax and Evaluation Semantics
lhs = lhs % rhs, the %= operator evaluates the left-hand side expression exactly once. If lhs is a complex expression with side effects—such as a subscript that calls a function (e.g., array[computeIndex()] %= 2)—the compound assignment guarantees that computeIndex() is executed only once. The expanded form would evaluate the left-hand expression twice, making the two forms operationally distinct.
Technical Mechanics
- Mutability: The left-hand operand (
lhs) must be a mutable variable (declared withvar), as the operator performs an in-place mutation. - Type Constraints: Both operands must conform to the
BinaryIntegerprotocol (e.g.,Int,UInt8,Int64) and must be of the exact same type. Swift does not perform implicit type conversion; attempting to apply%=across mixed integer types (e.g., anIntand anInt8) will result in a compiler error. - Floating-Point Restriction: Swift does not support the
%or%=operators for floating-point types (Double,Float). Floating-point remainder operations must instead use thetruncatingRemainder(dividingBy:)method. - Zero Divisor: If the right-hand operand (
rhs) is0, the operation will trigger a runtime crash (division by zero).
Signage Behavior
When evaluating the remainder, Swift uses truncating division. The sign of the resulting remainder strictly follows the sign of the dividend (the left-hand operand). The sign of the divisor (the right-hand operand) is entirely ignored during the calculation.Master Swift with Deep Grasping Methodology!Learn More





