2014-12-23 9 views
1

기존 메서드에 새 입력을 추가하려고하지만 이전 메서드 호출을 모두 변경하지는 않습니다. Specman은 옵션 매개 변수를 지원합니까? C++에서와 마찬가지로 :Specman은 옵션 매개 변수를 메서드에 지원합니까?

void cpp_func(int bla, int foo = 0) { 
    //do something ... 
}; 

다음은 모두 cpp_func(10)cpp_func(10, 0)를 호출 할 수 있습니다. 정말 감사드립니다.

답변

4

예, Specman은 메소드 매개 변수의 기본값 표현식을 지원합니다. 예를 들어

, 다음 코드

x = 11 
    y = 100 
    z = 333 

    x = 11 
    y = 22 
    z = 333 

    x = 11 
    y = 22 
    z = 33 
:

extend sys { 
    goo() : uint is { return 111; }; 
    boo() : uint is { return 222; }; 

    foo(x: uint, y: uint = 100, z: uint = boo() + goo()) is { 
     print x; 
     print y; 
     print z; 
    }; 

    run() is only { 
     foo(11); 
     foo(11,22); 
     foo(11,22,33); 
    }; 
}; 

가 발생합니다