此特定代码中的下划线是做什么的?

时间:2019-08-16 21:49:17

标签: ruby

我对代码中下划线的目的感到困惑。

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

3 个答案:

答案 0 :(得分:3)

下划线是您不使用的变量的占位符。

由于只需要该职位,因此您可以“降低”价值。您还可以使用_value而不是_来表示您不需要该变量,但仍将其命名为比_更有用的名称。

答案 1 :(得分:2)

您可以回答https://stackoverflow.com/a/55305492/9567450这个问题的答案,当永远不使用值时,_用作变量

答案 2 :(得分:1)

它只是第二个返回值的占位符。它说:“我知道返回了第二个值,但我对此不感兴趣。”