>> https://docs.julialang.org/en/v1/manual/strings/#man-concate...
>> In mathematics, + usually denotes a commutative operation, where the order of the operands does not matter. An example of this is matrix addition, where A + B == B + A for any matrices A and B that have the same shape. In contrast, * typically denotes a noncommutative operation, where the order of the operands does matter. An example of this is matrix multiplication, where in general A * B != B * A. As with matrix multiplication, string concatenation is noncommutative: greet * whom != whom * greet. As such, * is a more natural choice for an infix string concatenation operator, consistent with common mathematical use.
> Хотя другие математики (haskell) конкатят списки (и строки) через ++ * typically denotes a noncommutative operation
а вот с фига * (символ умножения и само умножение) - некомутативен? Это у умножения матриц он некомутативен, а строка для вас это матрица столбец? А можем ли мы умножать две матрицы столбец?
"""
Матрицы A и B могут быть перемножены, если они совместимы в том смысле, что число столбцов матрицы A равно числу строк B.
"""
А если не матрица столбец, а вектор (массив)? Вроде векторное произведение тоже антикоммутативно, но как эту операцию можно связать с конкатенацией (присоединением)?
> Для палочек + коммутативен. Для строк нет.
|| + ||| = |||||
как по этому результату ||||| однозначно сказать произошла конкатенация || + ||| или ||| + || ?
А раз однозначно сказать не можем, то имеем право утверждать, что операция + для палочек - антикоммутативна! И если бы каждая такая группа палочек была окрашена в свой цвет, то с легкостью мы бы эту антикоммутативность увидели бы.
пс: вспомним, что умножение это - сложение?
сконкатенируем строку АААА со строкой ААААААААА? Антикомутавина ААААААААААААА конечно. А что это за строка такая? Может вовсе не строка? Не словарная строка!!!! вотЪ