我正在使用以下Python 2方法,其中该方法的参数是Jython对象(任务):
def getTaskPosition(task):
"""Gets the current position of the task in its container (phase or group task)"""
index = 1
for t in task.container.tasks:
if task.id == t.id:
return index
index += 1
在我的 Python 2 脚本中,我使用 Jython API 中的 **copyTask ** 方法:
此 Jython 方法接收 3 个参数:
copyTask(String taskId, String targetContainerId, int targetPosition)
第 3 个参数(targetPosition)是从第一个方法(getTaskPosition)返回的整数
由于某种原因,在XL-Release的上下文中,输出错误是“索引超出范围。索引应该在0和2之间”,我绝对不明白为什么会发生这种情况
我尝试将 targetPosition 转换为整数,并尝试硬编码 0、1 和 2。除此之外,我不知道还能做什么
索引从 1 而不是从 0 开始,因此超出了范围。该函数应该这样编写,以确保索引准确且索引为零:
def getTaskPosition(task):
for index, t in enumerate(task.container.tasks):
if task.id == t.id:
return index
此外,当没有任务 ID 匹配时,该函数不会考虑默认值。在这种情况下,该函数将返回
None
,在代码中的某个位置,可能需要处理潜在的空值。