2013-11-24 3 views
2

Скажем, у меня есть массив, [1,2,3,4] и хотите использовать параллельное задание, чтобы присвоить 1 и Ь до 3. Я полагал, что я мог бы сделать что-то вроде:Параллельное назначение с Рубином

a, _, b, _ = [1,2,3,4] 

или даже опустить последний _, и он будет работать, но Ruby выдаст предупреждения для этого для неиспользуемых переменных. Есть ли другой способ сделать это? Рекомендуется ли использовать символы подчеркивания?

ответ

2

Предупреждение о неиспользованных переменных a и b, а не о _. Альтернатива:

a, b = [1,2,3,4].values_at(0,2) 
+0

Использование 'values_at' - это мой предпочтительный способ делать/видеть его. Намного легче понять, какие элементы извлекаются и назначаются. Использование '_' работает, но нам остается выяснить, какие переменные присваиваются тем элементам, которые читаются при чтении. –

3

Там не должно быть никаких предупреждений о неиспользуемых переменных, при условии, конечно, что вы на самом деле использованиеa и b где-то. Использование _ таким образом рекомендуется и идиоматично и даже официально поддерживается интерпретатором в том, что на самом деле не генерирует предупреждения для неиспользуемых переменных, если имя переменной _ или начинается с _.

Смежные вопросы