Маркировка неиспользуемой блочной переменной

Когда есть блок или локальная переменная, которую нельзя использовать, иногда люди отмечают ее * , а иногда и с _ .

{[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

В чем разница между ними и какие именно? Если необходимо отметить несколько переменных как неиспользуемые, как в приведенных выше примерах, что лучше?

11
задан sawa 31 December 2011 в 18:02
поделиться