【发布时间】:2018-01-05 17:53:38
【问题描述】:
我有一个清单:
list = ["mango", "apple", "pearl", "peach"]
而我需要使用yield 这样这行代码:
answer = myIndexOf(list) {|e| e == "apple"}
返回值1,即"apple"在数组中的索引。
我有这个,但我不明白yield。
def myIndexOf(list)
yield answer if block_given?
result = list.index(answer)
return answer
end
有人能解释一下吗?
【问题讨论】:
-
是的,我根本没有收益。所有的例子都没有任何意义。
-
yield表示“将控制权交给区块。yield(e)或yield e表示将控制权交给将e传递给块变量的块。在英语中,“yield”可以表示“放弃”或“移交”。所以如果你让出控制权,你就交出控制权。在编程中具有相同的含义。继续努力吧。我认为上面的问题有点棘手,但是按照 Sergio 的建议,它可能会点击。 -
方法体中的局部变量
answer是什么?