首页 > 解决方案 > | 之间有什么规则吗?x | 在块函数中?

问题描述

我目前正在研究积木,并注意到根据正在执行的操作,“球门柱”之间的符号似乎发生了变化,这纯粹是为了便于阅读,并且可以很容易地让每个球门柱都包含 |i|,或者这里有什么必须去的规则?

下面的代码示例。

[ 1, 3, 5, 7, 9 ].each {|i| puts i }


 f = File.open("testfile")
    f.each do |line|
puts line end
f.close

标签: ruby

解决方案


您所说的“'goalposts'之间的符号”在编程中更常见地称为“参数”。

“参数”有点像过程/函数/方法/块/子例程/任何您想调用它的定义中的“孔”或“占位符”。您可以给它任何您想要的名称(当然,只要它是参数的有效标识符)。您可以在过程/函数/方法/块/子例程的主体内使用此名称,而无需知道它在运行时的确切值是什么。

然后当您执行过程/函数/方法/块/子例程时,调用者可以传递所谓的“参数”,即填充这个“洞”的特定值。然后这个“参数”将被“绑定”到参数。这意味着对于过程/函数/方法/块/子例程的特定执行,当您引用参数时,它将具有此特定值。

因此,例如,如果您有这样的事情:

def add(first_parameter, second_parameter)
  first_parameter + second_parameter
end

add(23, 42)

然后first_parametersecond_parameter是方法的参数,和是传递给这个特定执行的参数add2342add

同样,当你有

def block_executor
  yield 23, 42
end

block_executor do |first_parameter, second_parameter|
  first_parameter + second_parameter
end

然后first_parametersecond_parameter是块的参数2342是传递给块的这个特定执行的参数。


推荐阅读