在数组上循环执行基本线性搜索,而不返回预期值。鉴于:
students = ["Alex", "Kyle", "Libby", "Monkey Boy"]
我正在尝试进行基本的线性搜索以查看名称“Monkey Boy”是否存在,并返回它的索引。
def linear_search(array, name)
i = 0
while i < array.length
if array[i] == "#{name}"
return i
else
return -1
end
i+=1
end
end
linear_search(students, "Alex") # returns 0
linear_search(students, "Monkey Boy") # returns -1, should return 3
很困惑。这里发生了什么?