You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jul 5, 2024. It is now read-only.
Предварительно должна быть выполнена задача об относительных и абсолютных адресах строк и столбцов ячеек.
Реализуем метод move(fromRow, fromColumn, toRow, toColumn) класса Spreadsheet._CellReference. Он возвращает новый Spreadsheet._CellReference, в котором:
Если в исходной ссылке строка не фиксированная, индекс строки изменён на toRow - fromRow;
Если в исходной ссылке столбец не фиксированный, индекс столбца изменён на toColumn - fromColumn;
rowFixed и columnFixed имеют такие же значения.
Переопределяем метод toString класса Spreadsheet._Expression. Это метод "собирает" разобранное выражение обратно в строку-формулу.
Определяем метод generateFormula класса Spreadsheet._Cell. Он преобразует поле expression в строку и кладёт её в formula.
Разделяем метод setFormula на два: setFormula(i, j, formula) и setExpression(i, j, expression). Второй устанавливает пропарсенное выражение и используется в первом.
Реализуем метом copyCell(fromRow, fromColumn, toRow, toColumn) класса Spreadsheet. Он копирует expression из ячейки с первыми координатами рекурсивно, заменяя все _CellReference на .move(fromRow, fromColumn, toRow, toColumn), в ячейку со вторыми координатами. Затем вызывает generateFormula последней. Затем вызывает setExpression(toRow, toColumn, expression).
The text was updated successfully, but these errors were encountered:
Предварительно должна быть выполнена задача об относительных и абсолютных адресах строк и столбцов ячеек.
move(fromRow, fromColumn, toRow, toColumn)
классаSpreadsheet._CellReference
. Он возвращает новыйSpreadsheet._CellReference
, в котором:toRow - fromRow
;toColumn - fromColumn
;rowFixed
иcolumnFixed
имеют такие же значения.toString
классаSpreadsheet._Expression
. Это метод "собирает" разобранное выражение обратно в строку-формулу.generateFormula
классаSpreadsheet._Cell
. Он преобразует полеexpression
в строку и кладёт её вformula
.setFormula
на два:setFormula(i, j, formula)
иsetExpression(i, j, expression)
. Второй устанавливает пропарсенное выражение и используется в первом.copyCell(fromRow, fromColumn, toRow, toColumn)
классаSpreadsheet
. Он копируетexpression
из ячейки с первыми координатами рекурсивно, заменяя все_CellReference
на.move(fromRow, fromColumn, toRow, toColumn)
, в ячейку со вторыми координатами. Затем вызываетgenerateFormula
последней. Затем вызываетsetExpression(toRow, toColumn, expression)
.The text was updated successfully, but these errors were encountered: