2009-04-02 1 views

답변

13

"splat"연산자입니다. 할당 중에 배열과 범위를 분해하고 값을 수집하는 데 사용할 수 있습니다. 여기

할당의 값이 수집된다

a = [1,2, *[3,4]] 

=> a = [1,2,3,4] 

이 예에서는

a, *b = 1,2,3,4 

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

내부 배열합니다 ([3,4] 하나)을 포함하는 어레이로 분해하고 수집있는 숫자 인수를 배열로 수집하는 함수를 정의 할 수 있습니다.

def foo(*args) 
    p args 
end 

foo(1,2,"three",4) 

=> [1,2,"three",4] 
+1

왜 이것이 다운 voted 되었습니까? 내 대답은 어느 비트가 OP를 혼란스럽게하는지 모른다는 이유로 한 가지 측면에서 세부적으로 들어 가지 않았지만 이것이 스 플랫 연산자에 유용합니다. –

8

음 :

  • require pp는 꽤 인쇄 기능
  • p에게 가져 가변 인자 꽤 인쇄 방법, 꽤-인쇄
  • *이에 인수 을 확장 "을 의미 각 인수입니다 varargs "를 단일 인수로 처리하는 대신
  • 1.10은
  • range sequence syntax입니다.

적절하게 설명되어 있습니까? 그렇지 않다면 어느 비트가 혼란 스럽습니까?

+0

+1 50K 마크가 직조물로서 정성 들여 만든 답답함은 ... –