2012-12-04 2 views
6

저는 자바 개발자입니다. Ruby 코드를 이해하고 나중에 작업 할 수있게되었습니다.

나는 tutorialspoint.com에 대한 루비 튜토리얼을 살펴 봤지만, 무엇이 $_[0]인지 알 수 없다.

코드의 변수에 할당되고 있으며 테스트 할 코드를 작성 했으므로 명령 줄 인수가 아닙니다. 그렇다면 누구나 그 중요성을 말할 수 있습니까?

+0

그들의 사용은 논란의 여지가합니다. 변수의 더 읽기 쉬운 이름을 보려면 영어 모듈을 살펴 보는 것이 좋습니다. –

답변

13

이것은 마술 변수 중 하나입니다.

$_은 표준 입력에서 읽은 마지막 행의 값을 보유합니다. 따라서 $_[0]은 해당 문자열의 첫 번째 기호입니다. 해당 문자열로 색인, 문자열 마지막 물론이다 gets

[0] 읽을 -

더 마법 변수

# The last line read by <tt>Kernel.gets</tt> or 
# <tt>Kernel.readline</tt>. Many string-related functions in the 
# +Kernel+ module operate on <tt>$_</tt> by default. The variable is 
# local to the current scope. Thread local. 
alias $LAST_READ_LINE   $_ 
+3

그것은 마법의 변수이지만 실제로는 글로벌하지 않습니다. '$'는 오해의 소지가 있습니다. –

+0

감사합니다. –

+1

Yepp, 대부분의 "마법의 전역"은 실제로 "마법의 스레드 - 지역 주민"입니다. –

관련 문제