Specman의 문자열 목록에 어떻게 참여할 수 있습니까?
문제
인쇄하고 싶은 목록이 있습니다.
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", " ");
제휴하지 않습니다 StackOverflow