修复 Matrix.TrySwap 错误的表达式参数

This commit is contained in:
kercylan98 2023-04-24 12:02:03 +08:00
parent a6dbebb088
commit a7b603740f
1 changed files with 2 additions and 2 deletions

View File

@ -50,10 +50,10 @@ func (slf *Matrix[T]) Swap(x1, y1, x2, y2 int) {
}
// TrySwap 尝试交换两个位置的内容,交换后不满足表达式时进行撤销
func (slf *Matrix[T]) TrySwap(x1, y1, x2, y2 int, expression bool) {
func (slf *Matrix[T]) TrySwap(x1, y1, x2, y2 int, expressionHandle func(matrix *Matrix[T]) bool) {
a, b := slf.Get(x1, y1), slf.Get(x2, y2)
slf.m[x1][y1], slf.m[x2][y2] = b, a
if expression {
if !expressionHandle(slf) {
slf.m[x1][y1], slf.m[x2][y2] = a, b
}
}