Skip to main content

Метод Position:compare

Метод сравнивает заданную позицию с текущей.

Вызов​


number compare(other)

Параметры​

  • other: позиция для сравнения с текущей, тип Position.

Возвращает​

  • положительное расстояние, если текущая позиция больше заданной.
  • отрицательное расстояние, если текущая позиция меньше заданной.
  • 0, если позиции равны.
  • nil, если позиции нельзя сравнить (позиции в разных документах, в тексте и в колонтитуле и т.д.).

Примеры для текстового документа​


table1 = document:getRange():getBegin():insertTable(2, 2, "table1")
positionDoc = document:getRange():getBegin()
positionTable = table1:getRange():getBegin()
positionCell = table1:getCell(DocumentAPI.CellPosition(0, 0)):getRange():getBegin()

if (positionDoc:compare(positionTable) + positionTable:compare(positionCell) == 0) then
-- true
end
document:getRange():getBegin():insertText("Some text")
positionBegin = document:getRange():getBegin()
positionEnd = document:getRange():getEnd()

print(positionBegin:compare(positionEnd)) -- -10
print(positionEnd:compare(positionBegin)) -- 10

Пример для табличного документа​


sheet = document:getBlocks():getTable(0)

firstCellEnd = sheet:getCell("A1"):getRange():getEnd()
secondCellBegin = sheet:getCell("B1"):getRange():getBegin()

print(firstCellEnd:compare(secondCellBegin)) -- 0