2009-06-22 8 views
0

인쇄 할 목록이 있습니다.specman에있는 문자열 목록에 어떻게 참여할 수 있습니까?

foo: list of string; 

foo의 요소를 연결 한 문자열 bar을 만들고 싶습니다. 펄에서는 내가 할 것이다 :

$bar = join " ", @foo; 

내가 specman에서 이것을 할 생각할 수있는 유일한 방법은 다음과 같습니다 :

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

이것은 그 자체에 bar를 복사하기 때문에 성능이 매우 좋지 않은 것처럼 보입니다. foo의 각 요소에 대해. 이 작업을 수행하는 더 좋은 방법이 있습니까?

답변

2

이를위한 전용 기능이

var bar: string = foo.to_string(); 

이것은 펄의 동등한입니다 :

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-e-specman-quick-reference-card.aspx 참조).

+0

나는 그것을 보았다. 그러나 나는 그것을 놓쳤음에 틀림 없었다. 감사! –

0

질문을 쓰는 동안 나는 to_string() 방법을 우연히 발견했습니다. 내가 사용할 수 있습니다 : 나는 공간을 사용하려면

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

내가 사용할 수 있습니다 :

var bar: string = str_replace(foo.to_string(), "\n", " ");