__getitem__
минимальные примеры
Служит как одномерное магическое значение класса, которое передается в __getitem__
, когда вы используете синтаксис «магия» ...
.
Пример:
class C(object):
def __getitem__(self, k):
return k
# Single argument is passed directly.
assert C()[0] == 0
# Multiple indices generate a tuple.
assert C()[0, 1] == (0, 1)
# Slice notation generates a slice object.
assert C()[1:2:3] == slice(1, 2, 3)
# Ellipsis notation generates an Ellipsis class object.
assert C()[...] == Ellipsis
. Встроенный класс list
Python решает дать ему семантику диапазона и любое разумное использование этого тоже должно быть конечно.
Лично я бы просто держался подальше от него в своих API-интерфейсах и вместо этого создавал отдельный более явный метод.
Я могу ошибаться, но большинство ответов, которые я видел относительно сохранения интервалов, используют метод OnTime. На самом деле это недоступно в PowerPoint, поэтому я не уверен, что то, что вы хотите сделать, возможно.
Я не думаю, что вы сможете сделать это с помощью простого макроса, но вы можете заставить его работать с надстройкой.
Надстройка будет:
Trap-события, в частности событие SelectionChanged.
Каждый раз, когда происходит событие, код обработки события сравнивает текущее время со временем его последнего срабатывания (сохраняется в статической переменной).
Если с момента последнего события прошло более x минут, сохраняется презентация и сбрасывается время последнего запуска.
Если событие никогда не срабатывает во время сеанса, это означает, что ничего не изменилось, поэтому нет реальной причины для сохранения.
Еще одно уточнение: до или после проверки разницы во времени проверьте свойство презентации .Saved. Если True, то в презентации ничего не изменилось, поэтому, опять же, нет причин для сохранения.