다음에서 변수 _
(밑줄)은 Array
, foo == "foo"
및 bar == "bar"
입니다.병렬 할당에서 변수로 밑줄 사용
_, foo, bar = ["", "foo", "bar"]
_ # => ["", "foo", "bar"]
밑줄의 의미와 사용 위치를 설명 할 수 있습니까?
다음에서 변수 _
(밑줄)은 Array
, foo == "foo"
및 bar == "bar"
입니다.병렬 할당에서 변수로 밑줄 사용
_, foo, bar = ["", "foo", "bar"]
_ # => ["", "foo", "bar"]
밑줄의 의미와 사용 위치를 설명 할 수 있습니까?
를 사용하는 것이 더 좋아 요소 :
a, _, b, _, c = [1, 2, 3, 4, 5]
a # => 1
b # => 3
C# => 5
*
를 돌보는) 여러 요소이가 하나의 별표 (*)를 사용하여 여러 요소를 무시하려면 무시 재미있는 약간의 소리 :
a, *, b = [1, 2, 3, 4, 5]
a # => 1
b # => 5
더 다른 관련 일을 알고이 블로그 게시물 Destructuring assignment in Ruby을 읽어보십시오.
밑줄은 단순히 거기에있는 변수 할당을위한 자리 표시 자입니다. 귀하의 경우 기본적으로 배열의 첫 번째 값을 무시한다는 의미입니다. 우리가 가지고 있지 않다면 다음과 같이 할 것입니다 :
ignored, foo, bar = ["", "foo", "bar"]
=> ["", "foo", "bar"]
그런 다음 아무것도 사용하지 마십시오.
_
를 돌보는) 무시당신은 이을 강조 어떤을 표현하기 위해 재사용 할 수 있습니다 : 그것은 우리가 때로는 두 가지를 병행 할당에서 _
그리고'ruby -w'로 실행할 때 스크립트는 경고를 내지 않을 것입니다. – steenslag
다른 변수와 마찬가지로 변수입니다. quux
또는 원하는 다른 이름을 사용할 수 있습니다.
제외 ... 사용하지 않는 로컬 변수 quux
에 대한 경고를받는 반면, 이름이 _
으로 시작하는 변수에는 경고가 표시되지 않습니다. 이것은 무시하고자하는 변수의 이름으로 _
을 사용하기위한 규약의 인코딩입니다.
내가 알지 못하는 경고 사실. 고맙습니다. –
[찾을 수 있습니다] (http://stackoverflow.com/questions/21973537/operator-precedence-of-unary-operators)? –
'IRB'에서이 트릭이 작동하지 않습니다. 'IRB'에서는 마지막으로 evulatet 변수를 강조하지만, 스크립트에서는 사용되지 않는 변수입니다.이 작업은'IRB'와 스크립트에서 다릅니다. –
@Monk_Code 그것이 나를 위해 일하고있다 – Simone
@imone 전체 주석을보십시오. –