我对代码中下划线的目的感到困惑。
def unmatched_pos
(pos, _) = @known_cards.find do |pos, val|
@known_cards.any? do |pos2, val2|
(pos != pos2 && val == val2) &&
!(@matched_cards[pos] || @matched_cards[pos2])
end
end
pos
end
答案 0 :(得分:3)
下划线是您不使用的变量的占位符。
由于只需要该职位,因此您可以“降低”价值。您还可以使用_value
而不是_
来表示您不需要该变量,但仍将其命名为比_
更有用的名称。
答案 1 :(得分:2)
您可以回答https://stackoverflow.com/a/55305492/9567450这个问题的答案,当永远不使用值时,_用作变量
答案 2 :(得分:1)
它只是第二个返回值的占位符。它说:“我知道返回了第二个值,但我对此不感兴趣。”