运行上一个函数时Swift超出范围

时间:2016-07-09 06:11:26

标签: arrays swift swift2

x <- c("ab", "cd", "bc", "def", "abc")

grep("b", x)
# [1] 1 3 5
grep("b", x, invert=TRUE)
# [1] 2 4

2 个答案:

答案 0 :(得分:0)

让我们逐行完成代码!

初始化print时,from __future__ import print_functionFactModel。现在打电话给index

第1行:0

现在,getPreviousFact将成为第一个事实,即Test1。

第2行:let fact = facts[index]

索引是否小于fact?它是! if index < facts.count - 1{为0,facts.count - 1为17

第3行:index

现在,facts.count - 1为-1!

因此,下次拨打index -= 1时,index将会运行。由于getPreviousFact现在为-1,因此超出了范围! :(

我认为你想要的是:

let fact = facts[index]

这只是我的猜测,因为当index为0时你没有提到它应该做什么。所以它可能与你的预期行为不同。

答案 1 :(得分:-1)

你必须首先增加索引蚂蚁然后检索事实。并以这种方式设置索引:

if listA == []:
  return "yes!"