Когда есть блок или локальная переменная, которая не должна использоваться, иногда люди отмечают ее с помощью *
, а иногда и с _
.
{[1, 2] => 3, [4, 5] => 6}.each{|(x, *), *| p x}
{[1, 2] => 3, [4, 5] => 6}.each{|(x, _), _| p x}
{[1, 2, 3], [4, 5, 6]}.each{|*, x, *| p x}
{[1, 2, 3], [4, 5, 6]}.each{|_, x, _| p x}
def (x, *), *; p x; end
def (x, _), _; p x; end
def *, x, *; p x; end
def _, x, _; p x; end
Каковы различия между ними и когда я должен использовать их? Когда нужно отметить несколько переменных как неиспользуемых, как в приведенных выше примерах, лучше?