2011-02-11 2 views
3

나는 perlop에 대해 알고있다. 내가 무엇을 찾고하면 GHCi :info 명령과 같은 빠른 조회입니다 : 내가 (+)가 연관 왼쪽과 infixl 6 + 라인 6의 우선 순위 레벨을 가지고있다 배울연산자의 우선 순위와 결합을 신속하게 결정할 수 있습니까?

ghci> :info (+) 
class (Eq a, Show a) => Num a where 
    (+) :: a -> a -> a 
    ... 
    -- Defined in GHC.Num 
infixl 6 + 

.

+1

응답을 perl에만 국한되지 않는 경우 (어떤 언어에 대해서도 동일하게 요청하는 경우) 나는 기쁠 것입니다. – Benoit

+4

은'perldoc perlop | 머리 -60' 충분하지? – mob

+0

나는 영리한 해결책을 가지고 있었다. 그러나 그것은 잘 할 것이다 :) –

답변

6

나는 당신이 요청하지만 일에 대해 정확히 아니라는 것을 깨닫게 : 그것은 우선 순위에 따라 표현 괄호를 인쇄

perl -MO=Deparse,-p -e "print $a+$b*$c**$d;" 

:

print(($a + ($b * ($c ** $d)))); 

을 그리고 펄 중 것들에 대한 distibution, 당신은 perlopquick을 볼 수 있습니다 - 귀하의 질문에 지정된대로 포드는 매우 비슷한 방식으로 배열.

+0

그것은 흥미 롭다. 쉼표가 무엇을 설명해 주시겠습니까? –

+0

@mugen kenichi :'-M'은 모듈 (이 경우'O')을로드하고'= '다음에 오는 매개 변수를 가져 오기 하위에 제공합니다. 이것은 기본적으로'use O qw (Deparse -p);'와 동일합니다. 'O'는 특정 컴파일러 백엔드를로드합니다.이 경우'B :: Deparse','-p'가 매개 변수입니다. 그 옵션의 전체 목록은'perldoc B :: Deparse'를 보라. – bvr

+0

ah so -p는 Perl이 아닌 Deparse의 매개 변수입니다. perlopquick도 나에게 좋은 발견이다. –

1

언어에 대한 합리적인 참조 설명서 및 전자 버전 또는 도움말 기능에는 첫 번째 항목을 가장 높은 우선 순위로하여 가로 또는 세로 목록의 연산자 우선 순위가 포함되어야합니다.

관련 문제