繁体   English   中英

这个| _在Ruby中是什么意思?

[英]What does this |_ mean in Ruby?

在这段代码中:

arr.select.each_with_index { |_, i| i.even? }

管道下划线是什么意思?

_是一个变量名,就像每个其他变量名一样(例如i )。 Ruby中的一个约定是,当您不打算稍后使用该变量时,使用_作为变量名。

在函数中,参数括在括号中:

def my_function(arg1, arg2)
    ..
end

在块中,您使用管道来包含参数:

arr.each_with_index{ |item, index| .. }

在这种情况下,选择变量名作为块的第一个参数,是_

您正在调用方法each_with_index并将其传递给匿名函数(或“块”)。 该块有两个参数:第一个表示数组中的项(或可枚举对象),第二个表示其索引(第一个元素为0,第二个元素为1,第三个元素为2,依此类推)。

在Ruby(以及其他一些语言)中分配名称_是传统的说法“我不打算使用它”。 所以each_with_index { |_, i| ... } each_with_index { |_, i| ... }表示“在这个块中, i代表索引,我不关心元素本身所以我不给它起一个名字。”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM