Когда есть блок или локальная переменная, которую нельзя использовать, иногда люди отмечают ее *
, а иногда и с _
.
{[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
В чем разница между ними и какие именно? Если необходимо отметить несколько переменных как неиспользуемые, как в приведенных выше примерах, что лучше?