2009-11-24 4 views
4

그냥 두 번째 배열이 여전히 작동 모든누구나이 배열 선언을 나에게 설명 할 수 있습니까?

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

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

에서 어떤 않는 경우, 배열의 마지막 쉼표의 존재의 차이를 생각해도 예외는

감사

+0

질문 제목을 조금 더 설명 적으로 편집하는 것이 좋습니다. –

+0

나는 그 사람을 위해 조금 닦았다 –

+0

Allen에게 감사한다! – penger

답변

7

을 더이있어 발생하지 차. 루비에서는 배열에 후행 쉼표를 자유롭게 추가 할 수 있습니다. 당신이 요소를 추가 할 경우

a = [ 
    1, 
    2, 
    3, 
] 

조금 더 좋은, 일부의 경우 (에 예를 들어, 당신은 단순히 4, 라인을 추가하고에 쉼표 검사에 대해 걱정할 필요가 없습니다 : 그것은 다음과 같은 구문을 만든다 마지막 줄). 배열에 대한 특별한 아무것도 없다

+0

null을 추가하지 않습니까? 배열 길이는 쉼표를 사용하지 않고 동일합니까? –

+0

아니요, null 값이 추가되지 않습니다. 배열은 요소 1,2,3 모두를 포함합니다. – mipadi

+0

아무런 차이가 없다고 생각합니다. 그것은 정말로 호기심에서 벗어났습니다. 코딩하고 있었고 이런 식으로 뭔가를 발견했습니다. 그래서 여러분 모두 똑똑한 사람들에게 물어볼 것입니다. – penger

0

그것은 오류 (컴파일러에 의해 무시) 단지 빈 값이 아닙니다,하지만 난 당신이 Understanding Ruby Arrays

+1

그 링크에는 선택적 후행 쉼표가 정확히 어디에서 언급됩니까? –

0

읽는 것이 좋습니다.

[1,2,3] 

Array.[](1,2,3) 

그래서 값이 단지 메소드 호출 파라미터 인 동일하다. 같은 편의의 이유로, 루비가 그렇게 설계되어해서

Hash.[](:a, 1, :b, 2) 

그리고 쉼표를 후행 이유는 메소드 호출 매개 변수에 허용되는 것과 동일

{a: 1, b: 2} 

적용 @mipadi이 언급되었습니다.

관련 문제