문제

인쇄하고 싶은 목록이 있습니다.

foo: list of string;

문자열을 만들고 싶습니다 bar 그것이 요소의 연관성입니다 foo. Perl에서 나는 할 것이다 :

$bar = join " ", @foo;

Specman에서 이것을 할 수있는 유일한 방법은 다음과 같습니다.

var bar: string = "";
for each in foo {
    bar = appendf("%s %s", bar, it);
};

이것은 성능이 매우 열악한 것 같습니다. 복사하기 때문입니다. bar 각 요소에 대해 그 자체로 foo. 이 작업을 수행하는 더 좋은 방법이 있습니까?

도움이 되었습니까?

해결책

이에 대한 전용 기능도 있습니다.

str_join(list: list of string, separator: string) : string

확실해 help str_join 세부 사항을 줄 것입니다. 다른 유용한 기능도 있습니다 str_match, str_split 당신이 좋아할 수도 있습니다.

추가 힌트로, 아마도 당신은 e 언어 빠른 참조, 보다 http://www.cadence.com/community/blogs/fv/archive/2009/06/19/send-us-suggestions-for-updating-the-epecman-quick-reference-card.aspx.

다른 팁

질문을 쓰면서 나는 to_string() 방법. 나는 사용할 수있다 :

var bar: string = foo.to_string();

이것은 Perl과 동일합니다.

$bar = join "\n", @foo;

공간을 사용하려면 사용할 수 있습니다.

var bar: string = str_replace(foo.to_string(), "\n", " ");
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top