문제

나는 Perl을 많이 알지 못한 채 다른 사람의 Perl 코드를 이해하려고 노력하고 있습니다.도와주시면 감사하겠습니다.

나는 다음과 같은 Perl 함수를 만났습니다:

MyFunction($arg1,$arg2__size,$arg3)

이중 밑줄 구문에 의미가 있습니까? $arg2, 아니면 두 번째 인수 이름의 일부인가요?

도움이 되었습니까?

해결책

Perl 변수 이름 내부에 __을 사용하는 데에는 특별한 의미가 없습니다.특히 귀하의 질문에 인용한 경우에는 프로그래머가 선호하는 것일 수 있습니다.Perl 변수 이름 지정에 대한 자세한 정보를 볼 수 있습니다. 여기.

다른 팁

대부분의 언어에서 밑줄은 식별자의 일부일 뿐입니다.특별한 의미는 없습니다.

하지만 그것이 Perl이라는 것이 확실합니까?변수에는 아무런 표시도 없습니다.더 많은 맥락을 게시할 수 있나요?

인터프리터에 관한 한 밑줄은 식별자에 허용되는 또 다른 문자일 뿐입니다.여러 단어로 구성된 식별자를 형성하기 위해 연결 또는 낙타 표기 대신 사용할 수 있습니다.

선행 밑줄은 식별자가 로컬에서만 사용된다는 의미로 자주 사용됩니다. 예를 들어 모듈의 내보내지 않은 부분의 경우.이는 단지 컨벤션일 뿐입니다.통역사는 상관하지 않습니다.

귀하의 질문과 관련하여 이중 밑줄은 프로그래밍상의 의미가 없습니다.이중 밑줄은 Perl의 제한된 수의 값에 대해 특별한 것을 의미합니다. __FILE__ & __LINE__.이는 기호($, % 또는 @) 따옴표 밖에서만 보간됩니다.여기에는 현재 실행 중인 파일의 전체 경로 및 이름과 실행 중인 줄이 포함됩니다.'특수 리터럴' 섹션을 참조하세요. 펄데이터 또는 Perl Monks에 대한 이 게시물

나는 arg2__size가 단지 변수의 이름일 뿐이라고 확신합니다.

Mark의 대답은 물론 정확하며 특별한 의미는 없습니다.

그러나 나는 당신의 예가 Perl과 전혀 닮지 않았다는 점을 지적하고 싶습니다.Perl 변수는 베어워드가 아닙니다.위의 링크에서 볼 수 있듯이 인장이 있습니다.그리고 Perl에는 "함수"가 없고 서브루틴이 있습니다.

그래서 우리가 말하는 언어에 대해 약간의 혼란이 있을 수 있습니다.

"$arg2"가 변수 이름이라는 것을 인터프리터에게 알려주어야 합니다."$arg2__size"가 아닙니다.이를 위해서는 괄호를 사용해야 합니다.(이 사용법은 쉘에서 볼 수 있는 것과 유사합니다).

이것은 myfunction ($ arg1, $ {arg2} __ size, $ arg3) 작동해야합니다.

--비누

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top